gpt4 book ai didi

python - 比较嵌套列表 Python

转载 作者:行者123 更新时间:2023-11-30 22:50:14 25 4
gpt4 key购买 nike

我想代码最容易解释我的目的......

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) 您还可以使用symmetric difference像:

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)))

关于python - 比较嵌套列表 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com