while循环查找列表A中哪些变量出现在列表B中

时间:2018-02-28 19:53:00

标签: python-3.x list while-loop

可能是因为我是超级新手,但我没有发现任何与我正在寻找的相匹配的东西。我有两个列表,并且正在搜索一个While循环,它将显示列表F的每个变量在列表N中出现的次数。我甚至无法接近这个或在我脑海中构建它。

以下是我的清单:

F = [4,7,2]
N = [2,3,4,2,5,6,3,2,6,7,3,4]

提示的基本框架:

    <set up index stuff>
     while ???:
        while ???:
            <if same, increment counter variable>
        print ?, "occurs in N", ?, "times"

我完全迷失了 - 感谢任何指导!

3 个答案:

答案 0 :(得分:1)

另一种解决方案是使用Counter

from collections import Counter

F = [4,7,2]
N = [2,3,4,2,5,6,3,2,6,7,3,4]

counts = Counter(N)
for item in F:
    print('{} occurs in N {} times'.format(item, counts[item]))

答案 1 :(得分:0)

d={}
for number in F:
    match=0
    for matching in N:
        if number==matching:
            match+=1 
            d[number]=match

print (d)

你可以使用上面的嵌套for循环,字典键将对应于数字,然后字典的值对应于它匹配的次数

答案 2 :(得分:0)

使用您提供的格式提供解决方案:

a = 0
while(a < len(F)):
  b = 0
  c = 0
  while(b < len(N)):
    if(F[a] == N[b]):
      c = c + 1
    b = b + 1
  print F[a], "occurs in N" , c , "times"
  a = a + 1