[英]Comparing nested list Python
我想代碼最容易解釋我的目的...
list1 = [("1", "Item 1"), ("2", "Item 2"), ("3", "Item 3"), ("4", "Item 4")]
list2 = [("1", "Item 1"), ("2", "Item 2"), ("4", "Item 4")]
newlist = []
for i,j in list1:
if i not in list2[0]:
entry = (i,j)
newlist.append(entry)
print(newlist)
如果我們調用嵌套元組[i] [j]
我想比較[i]但是一旦完成,我想保留相應的[j]值。
我在互聯網上找到了很多關於嵌套元組的信息,但大多數都是找到一個特定的項目。
我最近使用了一個下面的表達式,它完美地工作,這看起來很相似,但它只是不會打球。
for i,j in highscores:
print("\tPlayer:\t", j, "\tScore: ", i)
任何幫助都會得到很多應用。
如果我從您的評論中理解正確,您可以將其作為新列表:
newlist = [("3", "Item 3")]
你可以這樣做:
1)列表理解:
newlist = [item for item in list1 if item not in list2]
print newlist
這會給你一個結果:
[('3', 'Item 3')]
2)你也可以使用對稱差異,如:
L = set(list1).symmetric_difference(list2)
newlist = list(L)
print newlist
這也會給你相同的結果!
3)最后你可以使用lambda函數,如:
unique = lambda l1, l2: set(l1).difference(l2)
x = unique(list1, list2)
newlist = list(x)
這也會產生相同的結果!
4)哦,最后但並非最不重要的是,使用簡單的設置屬性:
newlist = list((set(list1)-set(list2)))
我想你只想創建一組list2的第一個元素,如果你只想比較列表的第一個元素。
newlist = []
list2_keys = set(elem[0] for elem in list2)
for entry in list1:
if entry[0] not in list2_keys:
newlist.append(entry)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.