检查Python中列表是否包含另一个列表

1 投票
2 回答
10586 浏览
提问于 2025-04-18 14:09

我有两个列表,一个是包含多个专辑和文件对的列表,另一个则只包含一张照片的信息——专辑(在位置0)和文件(在位置1)

photos = [["Trip to Thailand", "IMG_001.jpg"], ["Latvia 2010", "IMG_001.jpg"]]
photo = ["Latvia 2010", "IMG_001.jpg"]

我该如何检查这个照片列表是否在照片列表中呢?就像用photo in photos来检查字符串一样。

这里专辑文件的位置不重要,因为不会有文件专辑是相等的。

2 个回答

2
photos = [["Trip to Thailand", "IMG_001.jpg"], ["Latvia 2010", "IMG_001.jpg"]]
photo = ["Latvia 2010", "IMG_001.jpg"]
print (photo in photos)
True

没有区别,你检查的方法和检查字符串是一样的。

9

就像用 photo in photos 来检查字符串一样。这不仅是相似,完全就是这样photo in photos 也可以用在列表里面的列表上:

>>> photos = [["Trip to Thailand", "IMG_001.jpg"], ["Latvia 2010", "IMG_001.jpg"]]
>>> photo = ["Latvia 2010", "IMG_001.jpg"]
>>> photo in photos
True

检查一个元素是否在列表里,其实就是逐个查看列表里的每个元素,然后用 == 来比较,看有没有相同的。你的 photo 列表和第二个元素比较时是相等的:

>>> photos[1] == photo
True

因为两个列表里的所有字符串都是相等的。

撰写回答