从另一个数组检查数组中的值

2024-10-04 09:19:17 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想看看是否有可能找到两个数组中彼此相等的值,但我不确定如何做到这一点。 这就是我到目前为止所做的:

unusedArray = ["AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS", "AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD", "AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH", "AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC"] 

value10 = ["10S", "10C", "10H", "10D"]

x = 0

for value10 in unusedArray:
   print(x)
   x += 1

打印x只是为了查看for循环运行了多少次。循环不是只运行4次,而是运行52次(在unusedArray中的值的数量)


Tags: forasjs数组adkdjdks
2条回答

您可以使用列表理解:

unusedArray = ["AS", "2S", "3S", "4S", "5S", "6S", "7S", "8S", "9S", "10S", "JS", "QS", "KS", "AD", "2D", "3D", "4D", "5D", "6D", "7D", "8D", "9D", "10D", "JD", "QD", "KD", "AH", "2H", "3H", "4H", "5H", "6H", "7H", "8H", "9H", "10H", "JH", "QH", "KH", "AC", "2C", "3C", "4C", "5C", "6C", "7C", "8C", "9C", "10C", "JC", "QC", "KC"] 

value10 = ["10S", "10C", "10H", "10D"]
final_List = [i for i in unusedArray if i in value10]

输出:

['10S', '10D', '10H', '10C']

您可以将列表转换为sets并使用intersection()

u = set(list_1).intersection(set(list_2))
print(u)
print(len(u))

请注意,您可以对更多列表执行此操作,例如

u = set(list_1).intersection(set(list_2), set(list_3))
print(u)
print(len(u))

否则:

u = [x for x in list_1 if x in list_2]
print(u)
print(len(u))

相关问题 更多 >