python中對list做減法操作
列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔值出現。
list1=['physics','chemistry',1997,2000]
list2=[1,2,3,4,5]
list3=["a","b","c","d"]
list可以進行的操作包括索引,切片,加,乘,檢查成員。但是沒有減操作。
問題描述
已知:
list1=[1,2,3,4,5]
list2=[1,4,5]
求:list3。list3中包括所有不在list2中出現的list1中的元素。
方法一可以使用set(集合)操作
list3=list(set(list1)–set(list2))
set操作會將一個list轉換成一個集合。
假設:list_t=[1,2,3,1]
那么:list(set(list_t))=[1,2,3]
重復的項就會被刪除。
方法二list3=[iforiinlist1ifinotinlist2]#可用于list分片
這樣寫也很直觀。
但是在list很大的時候,沒有set方法快。
額外知識:a=[[i,j]foriinrange(2)forjinrange(3)]
這個和“其他方案”非常相似,
都是在[]里面進行判斷和計算。
感覺很方便,至少比下面這樣要方便、要快:
a=[]
foriinrange(2):
forjinrange(3):
a.append([i,j])
某些問題:如果list_tmp=[[1,2],[2,3]]即list里面不是單獨的元素組成,而是list,那么set(list_tmp)會出問題。
以上內容為大家介紹了如何進行python列表加減,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。