【问题标题】:How to iterate over two lists of different length without combining them如何迭代两个不同长度的列表而不合并它们
【发布时间】:2019-11-16 16:14:16
【问题描述】:

有没有办法同时迭代两个不同长度的列表而不合并它们?

我尝试了itertools.product(list1, list2),但这与嵌套循环非常相似。所以第二个列表会针对第一个列表的每个项目进行迭代,这不是我想要的。

我想比较两个列表,看看它们是否匹配。

【问题讨论】:

标签: python list loops compare


【解决方案1】:

如果您的目的是检查差异,您可以使用sets。 假设您有两个列表,例如

a=["one", "two", "three"]
b=["one", "other"]

您可以通过将它们转换为集合来检查差异:

print(set(a) - set(b))

顺序很重要:第一项是您要检查的第二项:

print(set(a) - set(b)) 返回{'three', 'two'}(第一组中存在的项目在第二组中丢失),而

print(set(b) - set(a)) 返回{'other'}

【讨论】:

  • @random-xyz 在你的比较中顺序重要吗?重复的怎么办?我建议编辑您的帖子以显示您正在尝试做的事情的示例。
猜你喜欢
  • 2017-10-15
  • 2012-08-03
  • 2017-11-30
  • 1970-01-01
  • 2022-01-23
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
  • 2019-08-19
相关资源
最近更新 更多