pythonlist删除某个元素
1. python如何删除list里重复的元素
这个可简单可复杂。
简单的:利用集合
a=list(set(a))#这样就可以了,是不是很简单
复杂的:
就是先对列表排序,然后比较相邻元素是否相同,相同的则删除后面的。大体算法思路,代码自己写吧
当然还有其他的算法...
-----------------------------------------------------------------------------------
额, 不好意思,看错了
defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa
这个就可以了,利用 list.count(obj) 计算obj在list中出现的次数进行判断
2. python如何删除list里重复的元素
一共使用四种方法来去除列表中的重复元素,下面是具体实现:
def f1(seq):
# not order preserving
set = {}
map(set.__setitem__, seq, [])
return set.keys()
def f2(seq):
# order preserving
checked = []
for e in seq:
if e not in checked:
checked.append(e)
return checked
def f3(seq):
# Not order preserving
keys = {}
for e in seq:
keys[e] = 1
return keys.keys()
def f4(seq):
# order preserving
noDupes = []
[noDupes.append(i) for i in seq if not noDupes.count(i)]
return noDupes
def f5(seq, idfun=None):
# order preserving
if idfun is None:
def idfun(x): return x
seen = {}
result = []
for item in seq:
marker = idfun(item)
# in old Python versions:
# if seen.has_key(marker)
# but in new ones:
if marker in seen: continue
seen[marker] = 1
result.append(item)
return result
def f6(seq):
# Not order preserving
set = Set(seq)
return list(set)
3. Python list=[[],[],[],[1],[2],[3]]是怎么删除空直
因为对原列表删改的时候,len(list)是实时变化的,且remove、pop那些函数只能删除第一个遇到的符合条件的元素,且你的要求是只删除空元素,而对其他如果有重复的元素不进行修改,所以也不能用元组set.
那我有两个方法,第一个是记录list中[]出现的位置,之后按照反向的顺序依次remove掉,这样就不会因为列表长度在变化而删错元素;
第二个是直接删除空元素,但记录list长度的实时变化,当list长度不再变化,则list中的空元素都已经删完了。
4. python删除list列表多个指定位置中的元素
li1=[12,3,4,5,2,34,5,6,7,3,5,6,66]
removelist=[1,2,4,5]
x=0
foryinremovelist:
li1.pop(y-x)
x+=1
printli1
这样有一个要求就是removelist里面的数字必须是从小到大的顺序排列的,
5. python如何实现删除某list中所有重复出现的元素
1. 使用内置函数set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的
6. python list怎么删除一个元素
1、使用set函数
set是定义集合的,无序,非重复
numList = [1,1,2,3,4,5,4]
print(list(set(numList)))
#[1, 2, 3, 4, 5]
2、先把list重新排序,然后从list的最后开始扫描
a = [1, 2, 4, 2, 4, 5,]
a.sort()
last = a[-1]
for i in range(len(a) - 2, -1, -1):
if last == a[i]:
del a[i]
else:
last = a[i]
print(a) #[1, 2, 4, 5]
3、使用字典函数
a=[1,2,4,2,4,]
b={}
b=b.fromkeys(a)
c=list(b.keys())
print(c) #[1, 2, 4]
4、append方式
def delList(L):
L1 = []
for i in L:
if i not in L1:
L1.append(i)
return L1
print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]
5、count + remove方式
def delList(L):
for i in L:
if L.count(i) != 1:
for x in range((L.count(i) - 1)):
L.remove(i)
return L
print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]
7. python 移除list里的元素
def remove_section(alist,start,end):
if start > len(alist):
# 开始位置越界返回原串
return alist[:]
elif end > len(alist):
# 结束位置越界
return alist[:start]
else:
a = alist[:start]
a.extend(alist[end:])
return a
8. python如何删除爬取网页list里面一个元素里面的个别字符串
伪代码:
images_23 = [img for img in allimages if '200X300' in img]
9. python list如何去除某个元素
1.使用remove方法,例如:
a=["aa","bb"]
a.remove("aa")
#["bb"]
2.使用pop方法,数字为索引从0开始.例如:
a=["aa","bb","cc"]
a.pop(1)
#["aa","cc"]
10. python中list中怎么删除重复数据保留一条
可以先统计list中每个数据的个数,用一个dict存储,然后遍历list,判断是否是最后一个,是的就从list中删除即可