【发布时间】:2020-10-14 01:53:01
【问题描述】:
我目前正在学习python,遇到了一个问题。
我需要知道一个元素是否是列表的一部分,基本上是列表内出现的频率:
例如,假设我有这个列表列表:
A = [[1, 2, 4, 5], [2, 3, 5], [1, 2, 4, 5],
[1, 2, 3, 5], [1, 2, 3, 4, 5], [2, 3, 4]]
假设我需要知道以下数字是否出现在列表中:[1, 2, 4]
如您所见,数字[1, 2, 4] 出现在列表中,位置为A[0]、A[2] 和A[4](顺序无关紧要,只要它们三个同时出现)。所以,出现的频率应该是3。
我尝试使用any() 来查看是否有办法检查 x 是否是列表 A 的一部分
any(x == [1,2,4] for x in A)
或者使用for循环,但它们只检查x的每个个体是否是A的一部分,但我需要知道某个系列的元素是否出现。
for i in range(len(x)):
count=0
print("i",i)
for j in range(len(x[i])):
print("j",j)
for k in range(len(A)):
print("k",k)
for l in range(len(A[k])):
if x[i][j]==A[k][l]:
count+=1
有没有更有效的方法在 Python 中进行检查?
【问题讨论】:
-
您要检查的号码列表是否有独特的元素?即
[1, 2, 4]应该包含唯一值吗? -
@JoonyoungPark 是的,它有独特的元素。我无法检查,例如 [1, 1, 4] 或 [2,2,2]
-
好的,那么@Selcuk 的回答似乎已经足够好了。我赞成。
标签: python python-3.x list python-2.7 variables