python清空list
① 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
② 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)
③ python list怎么删除元素
有两个方法
1.pop()
默认删除最后一个元素。
也可以给定一个索引值删除索引值对应的元素。
④ python删除列表list中所有的零0元素
本来以为实现这个东西还不是小菜一碟,结果发现这个小东西竟然有坑,哼!
这个方法一是没坑的方法,亲测有效:
方法一:
list=[1,0,0,2]
lis=[]
for i in list:
if i!=0:
lis.append(i)
print(lis)
注意:千万不要用下面方法二和方法三这两个方法!是个坑人的坑!(生气)
方法二:
list=[1,0,0,2]
for i in list:
if i==0:
list.remove(i)
print(list)
方法三:
list=[1,0,0,2]
list.remove(0)
print(list)
⑤ 如何删除一个list中最后一个元素
1、python删除列表中指定元素的方法。
⑥ python如何删除list里重复的元素
这个可简单可复杂。
简单的:利用集合
a=list(set(a))#这样就可以了,是不是很简单
复杂的:
就是先对列表排序,然后比较相邻元素是否相同,相同的则删除后面的。大体算法思路,代码自己写吧
当然还有其他的算法...
-----------------------------------------------------------------------------------
额, 不好意思,看错了
defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa
这个就可以了,利用 list.count(obj) 计算obj在list中出现的次数进行判断
⑦ 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里面的数字必须是从小到大的顺序排列的,
⑧ python如何实现删除某list中所有重复出现的元素
1. 使用内置函数set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先将列表转换为集合,因为集合是不重复的,故直接删除重复元素,而且输出结果为排序后的
⑨ Python list=[[],[],[],[1],[2],[3]]是怎么删除空直
因为对原列表删改的时候,len(list)是实时变化的,且remove、pop那些函数只能删除第一个遇到的符合条件的元素,且你的要求是只删除空元素,而对其他如果有重复的元素不进行修改,所以也不能用元组set.
那我有两个方法,第一个是记录list中[]出现的位置,之后按照反向的顺序依次remove掉,这样就不会因为列表长度在变化而删错元素;
第二个是直接删除空元素,但记录list长度的实时变化,当list长度不再变化,则list中的空元素都已经删完了。
⑩ 请问Python如何删除list某两列以及数据数据类型
def str2num(s):
try:
return int(s)
except:
return None
lista = [
['0624', 'b', 'nan', 'nan', 'nan','nan', '1', 'true', '2', '0', '1', 'ture', '2', '0'],
['0625', 'b', 'nan','nan', 'nan', 'nan', '2', ' ture', '1', '0', '2', 'ture', '2', '0'],
['0626', 'b','nan', 'nan', 'nan', 'nan', '3', ' ture', '1', '0', '3', 'ture', '1', '0'],
['0627','b', 'nan', 'nan', 'nan', 'nan', '4', ' ture ', '1', '0', 'nan', 'nan', 'nan','nan']
]
# 要求:将第3、7、11列中具有最大数的列作为新列表listb的第3列,lista中其他列分别依次存入listb中的第1、2、4...
listb = []
for item in lista:
item11 = str2num(item.pop(10))
item7 = str2num(item.pop(6))
item3 = str2num(item.pop(2))
newitem3 = str(max([item3,item7,item11]))
item.insert(2, newitem3)
listb.append(item)