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

问题描述 投票:0回答:3

可能是因为我是一个超级新手,但我找不到任何与我正在寻找的相匹配的东西。我有两个列表,并且正在搜索一个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"

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

python-3.x list while-loop
3个回答
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

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

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

print (d)

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

© www.soinside.com 2019 - 2024. All rights reserved.