python刪除list重復(fù)元素 請(qǐng)問python里面怎樣刪除list中元素的字符?
請(qǐng)問python里面怎樣刪除list中元素的字符?1.remove: 刪除單個(gè)元素,刪除首個(gè)符合條件的元素,按值刪除 舉例說明: >>> str=[1,2,3,4,5,2,6] >&g
請(qǐng)問python里面怎樣刪除list中元素的字符?
1.remove: 刪除單個(gè)元素,刪除首個(gè)符合條件的元素,按值刪除
舉例說明:
>>> str=[1,2,3,4,5,2,6]
>>> str.remove(2)
>>> str
[1, 3, 4, 5, 2, 6]
2.pop: 刪除單個(gè)或多個(gè)元素,按位刪除(根據(jù)索引刪除)
>>> str=[0,1,2,3,4,5,6]
>>> str.pop(1) #pop刪除時(shí)會(huì)返回被刪除的元素
>>> str
[0, 2, 3, 4, 5, 6]
>>> str2=["abc","bcd","dce"]
>>> str2.pop(2)
"dce"
>>> str2
["abc", "bcd"]
3.del:它是根據(jù)索引(元素所在位置)來刪除
舉例說明:
>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str
[1, 3, 4, 5, 2, 6]
>>> str2=["abc","bcd","dce"]
>>> del str2[1]
>>> str2
["abc", "dce"]
除此之外,del還可以刪除指定范圍內(nèi)的值。
>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4] #刪除從第2個(gè)元素開始,到第4個(gè)為止的元素(但是不包括尾部元素)
>>> str
[0, 1, 4, 5, 6]
python怎么找出list重復(fù)的元素?
可以對(duì)第二個(gè)list的元素進(jìn)行遍歷,檢查是否出現(xiàn)在第二個(gè)list當(dāng)中,如果使用表理解,可以使用一行代碼完成任務(wù)。
list1 = [1,2,3,4,5]
list2 = [4,5,6,7,8]
print [l for l in list1 if l in list2]
# [4,5]
如果每一個(gè)列表中均沒有重復(fù)的元素,那么還有另外一種更好的辦法。首先把兩個(gè)list轉(zhuǎn)換成set,然后對(duì)兩個(gè)set取交集,即可得到兩個(gè)list的重復(fù)元素。
set1 = set(list1)
set2 = set(list2)
print set1 & set 2
# {4,5}