python刪除重復元素
⑴ 如何刪除python列表中所有的同一元素
你可以直接把列表的類型轉為集合類型,因為集合類型是不會重復的
⑵ python 列表多個元素如何配對去重呢
每次從列表中取出兩個元素,如果第二個元素不在輸出列表,就將這兩個元素添加到輸出列表。
source = ["a","1","b","1","c","2","d","3","e","4","c","3"]
out = []
for e in zip(source[0::2],source[1::2]):
....if e[1] not in out:
........out = out + list(e)
print(out)
⑶ 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里重復的元素
這個可簡單可復雜。
簡單的:利用集合
a=list(set(a))#這樣就可以了,是不是很簡單
復雜的:
就是先對列表排序,然後比較相鄰元素是否相同,相同的則刪除後面的。大體演算法思路,代碼自己寫吧
當然還有其他的演算法...
-----------------------------------------------------------------------------------
額, 不好意思,看錯了
defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa
這個就可以了,利用 list.count(obj) 計算obj在list中出現的次數進行判斷
⑸ python123上一道習題刪除列表中重復元素求代碼,或者幫我看看我的代碼怎麼改,初學,我感覺好像要大改
代碼如下,:
import random
m = int(input("m:"))
n = int(input("n:"))
random.seed(m)
randoms = [str(random.randint(0, 9)) for i in range(10)]
sort_randoms = list(set(randoms))
sort_randoms = sorted(sort_randoms, key=int)
print(randoms)
print(sort_randoms)
輸出:
['9', '0', '6', '7', '9', '0', '3', '7', '7', '4']
['0', '3', '4', '6', '7', '9']
⑹ python中如何刪除列表中重復的元素
舉個例子,比如有這樣一個列表l,可表示為[1,2,2,5,3,6],它可以通過下面的操作達到去重的目的:l=list(set(l)),在python shell中代碼執行如下圖所示:
python列表去重操作代碼運行結果
⑺ python兩個列表字典,刪除相同元素
按照你的要求去除list2中的重復項的Python程序如下
list1=[{'title':'我是標題1','url':'我是網址1'},{'title':'我是標題2','url':'我是網址2'},{'title':'我是標題3','url':'我是網址3'}]
list2=[{'title':'我是最新1','url':'我是最新網址1'},{'title':'我是最新2','url':'我是最新網址2'},{'title':'我是標題1','url':'我是網址1'}]
list3=[item for item in list2 if item not in list1]
print(list3)
⑻ python如何實現刪除某list中所有重復出現的元素
1. 使用內置函數set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先將列表轉換為集合,因為集合是不重復的,故直接刪除重復元素,而且輸出結果為排序後的
⑼ python中的列表中常用的方法有哪些,分別是什麼作用
Python列表定義:按特定順序排列的元素組成。在Python中,用方括弧[]來表示列表,並用逗號來分隔其中的元素。Python列表是編程中很常見的數據類型 。
列表是一種可修改的集合類型,其元素可以是數字、string等基本類型,也可以是列表、元組、字典等集合對象,甚至可以是自定義的類型。其定義方式如下:>>> nums = [1,2,3,4]>>> type(nums)>>> print nums[1, 2, 3, 4]>>> strs = ["hello","world"]>>> print strs['hello', 'world']>>> lst = [1,"hello",False,nums,strs]>>> type(lst)>>> print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
下面我們來看一下列表中有哪些常見的方法:count():統計某個元素在列表中出現的次數。index():從列表中找出某個值第一個匹配項的索引位置。append():在列表末尾添加新對象。extend():在列表末尾一次性追加另一個序列的多個值。insert():在列表的指定位置插入對象。pop():移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。remove():移除列表中某個值的第一個匹配項。reverse():將列表中的元素反向,不重新拷貝一個列表。reversed():將列表中的元素反向,重新拷貝一個列表。sort():將列表中的元素排序,不重新拷貝一個列表。sortd():將列表中的元素排序,重新拷貝一個列表。():淺拷貝,只是給原來的列表貼上了一個新標簽,對於一個復雜對象的子對象並不會完全復制,如果有子列表,改變原來的值,新的拷貝對象也會改變。deep():深拷貝,將復雜對象的每一層復制一個單獨的個體出來。就是完全拷貝。常見內置函數:max()、min()、sum()、len()、all()、any()、zip()、enumerate()
⑽ python如何有多個重復元素刪除其中一個
如果你知道他的索引(index)
假設他的索引存在變數a中
列表名為list
list.pop(a)
當然,也可以用remove函數
但是,局限於只能刪第一個
比如:
a=[0,1,1,1,2,3,3]
a.remove(1)
print(a)
結果為:
[0, 1, 1, 2, 3, 3]