當前位置:首頁 » 編程語言 » pythonlist去掉

pythonlist去掉

發布時間: 2022-06-15 15:22:48

python:如果想要刪除list中的list中的元素該怎麼做呢


List1=[
['Apple','Google','Microsoft'],
['Java','Python','Ruby','PHP'],
['Adam','Bart','Lisa']
]
foriteminList1:
ifitem.count("Python"):
item.pop(item.index("Python"))
printList1

② 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怎麼刪除元素

有兩個方法

1.pop()
默認刪除最後一個元素。
也可以給定一個索引值刪除索引值對應的元素。

④ 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 列表怎樣去掉一個元素

li = [1,2,3,4,5,6]

# 1.使用del刪除對應下標的元素
del li[2]
# li = [1,2,4,5,6]

# 2.使用.pop()刪除最後一個元素
li.pop()
# li = [1,2,4,5]

# 3.刪除指定值的元素
li.remove(4)
# li = [1,2,5]

# 4.使用切片來刪除
li = li[:-1]
# li = [1,2]
# !!!切忌使用這個方法,如果li被作為參數傳入函數,
# 那麼在函數內使用這種刪除方法,將不會改變原list

li = [1,2,3,4,5,6]
def delete(li, index):
li = li[:index] + li[index+1:]
delete(li, 3)
print li
# 會輸出[1,2,3,4,5,6]

⑥ python中對list去重的多種方法

python中對list去重的多種方法
今天遇到一個問題,在同事隨意的提示下,用了 itertools.groupby 這個函數。不過這個東西最終還是沒用上。
問題就是對一個list中的新聞id進行去重,去重之後要保證順序不變。
直觀方法
最簡單的思路就是:

這樣也可行,但是看起來不夠爽。

用set

另外一個解決方案就是用set:
代碼如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]
ids = list(set(ids))

這樣的結果是沒有保持原來的順序。

按照索引再次排序

最後通過這種方式解決:
代碼如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]
news_ids = list(set(ids))
news_ids.sort(ids.index)

使用itertools.grouby

文章一開始就提到itertools.grouby, 如果不考慮列表順序的話可用這個:
代碼如下:

ids = [1,4,3,3,4,2,3,4,5,6,1]
ids.sort()
it = itertools.groupby(ids)

for k, g in it:
print k

關於itertools.groupby的原理可以看這里:http://docs.python.org/2/library/itertools.html#itertools.groupby

網友補充:用rece

網友reatlk留言給了另外的解決方案。我補充並解釋到這里:
代碼如下:

In [5]: ids = [1,4,3,3,4,2,3,4,5,6,1]

In [6]: func = lambda x,y:x if y in x else x + [y]

In [7]: rece(func, [[], ] + ids)
Out[7]: [1, 4, 3, 2, 5, 6]

上面是我在ipython中運行的代碼,其中的 lambda x,y:x if y in x else x + [y] 等價於 lambda x,y: y in x and x or x+[y] 。

⑦ python list 怎麼刪除

>>>l=[1,2,3,4,5]
>>>del(l[1])
>>>l
[1,3,4,5]

del刪除某個list元素

>>>l.clear()
>>>l
[]

直接用clear清空

⑧ python list 怎麼去除空的list

假設你要處理的列表是lst,代碼如下:

L=[xforxinlstifx]

L就是你要的

⑨ 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裡面的數字必須是從小到大的順序排列的,

熱點內容
oppoa57忘記密碼怎麼刷機 發布:2025-02-07 01:51:17 瀏覽:73
2016空間加密怎麼進 發布:2025-02-07 01:41:30 瀏覽:382
網路數據伺服器是什麼 發布:2025-02-07 01:23:42 瀏覽:473
多伺服器ip白名單 發布:2025-02-07 01:23:41 瀏覽:372
優酷上傳視頻的格式 發布:2025-02-07 01:18:51 瀏覽:880
租虛擬伺服器有什麼用 發布:2025-02-07 01:17:55 瀏覽:4
視頻腳本策劃 發布:2025-02-07 01:15:37 瀏覽:566
外文免費資料庫 發布:2025-02-07 01:12:26 瀏覽:194
第一滴血ftp 發布:2025-02-07 01:12:24 瀏覽:424
仿草料源碼 發布:2025-02-07 01:08:31 瀏覽:533