A. 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)
B. python中如何刪除列表中重復的元素
舉個例子,比如有這樣一個列表l,可表示為[1,2,2,5,3,6],它可以通過下面的操作達到去重的目的:l=list(set(l)),在python shell中代碼執行如下圖所示:
python列表去重操作代碼運行結果
C. python list 怎麼去除空的list
假設你要處理的列表是lst,代碼如下:
L=[xforxinlstifx]
L就是你要的
D. 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]
E. python如何實現刪除某list中所有重復出現的元素
1. 使用內置函數set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先將列表轉換為集合,因為集合是不重復的,故直接刪除重復元素,而且輸出結果為排序後的
F. 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
G. python如何刪除list里重復的元素
這個可簡單可復雜。
簡單的:利用集合
a=list(set(a))#這樣就可以了,是不是很簡單
復雜的:
就是先對列表排序,然後比較相鄰元素是否相同,相同的則刪除後面的。大體演算法思路,代碼自己寫吧
當然還有其他的演算法...
-----------------------------------------------------------------------------------
額, 不好意思,看錯了
defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa
這個就可以了,利用 list.count(obj) 計算obj在list中出現的次數進行判斷