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)