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

Python 从另一个数组检查数组中的值,python,arrays,Python,Arrays,所以我想看看是否有可能找到两个数组中彼此相等的值,但我不确定如何做到这一点。 这就是我到目前为止所做的: 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",

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

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
只是为了查看for循环运行了多少次。与循环只运行4次不同,它运行52次(在
unusedArray
中的值的数量)

您可以将列表转换为
集合
并使用
交叉点()

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

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

您可以使用列表理解:

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']

如果列表中有52个东西你在循环,为什么它会运行四次呢?这是一种奇怪的命名方式<代码>集合是一种类型,您通常会执行
集合(列表1)。交叉点(列表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']