Python:如何在字典之间检查数字

Python:如何在字典之间检查数字,python,Python,我使用以下函数创建了一个元组。当代码运行时,创建的元组看起来像(0[1,4,0]),(0[2,5,0])。计数器递增之前应检查的数字是第一个元组的1和4,或第二个元组的2和5。出于某种原因,我不知道为什么计数器会显示所有计数器的相同值。应该是不同的数字 listA=[1,2,3,4,56,7,87,6] listB=[4,5,6,7,8,7,8,7] def myFunction(data): counter=0 myList=[] for i,a in enumerate(

我使用以下函数创建了一个元组。当代码运行时,创建的元组看起来像
(0[1,4,0]),(0[2,5,0])
。计数器递增之前应检查的数字是第一个元组的1和4,或第二个元组的2和5。出于某种原因,我不知道为什么计数器会显示所有计数器的相同值。应该是不同的数字

listA=[1,2,3,4,56,7,87,6]
listB=[4,5,6,7,8,7,8,7]
def myFunction(data):
   counter=0
   myList=[]

   for i,a in enumerate(zip(listA, listB)):
       myList.append((i, [a[0], a[1], counter]))

   myDictionary=dict(myList)

   for number in data:
       for key in myDictionary.keys():
            if (myDictionary[key][0] < number <= myDictionary[key][1]):
                counter = counter+1
listA=[1,2,3,4,56,7,87,6]
listB=[4,5,6,7,8,7,8,7]
def myFunction(数据):
计数器=0
myList=[]
对于枚举中的i,a(zip(listA,listB)):
追加((i[a[0],a[1],计数器)))
myDictionary=dict(myList)
对于数据中的数字:
对于myDictionary.keys()中的键:

如果(myDictionary[key][0]
listA=[1,2,3,4,56,7,87,6]
listB=[4,5,6,7,8,7,8,7]
def myFunction(data):
   counter=0
   myList=[]

   for i,a in enumerate(zip(listA, listB)):
       myList.append((i, [a[0], a[1], counter]))

   myDictionary=dict(myList)

   for number in data:
       for key in myDictionary.keys():
            if (myDictionary[key][0] < number <= myDictionary[key][1]):
                myDictionary[key][2] += 1
listA=[1,2,3,4,56,7,87,6]
listB=[4,5,6,7,8,7,8,7]
def myFunction(数据):
计数器=0
myList=[]
对于枚举中的i,a(zip(listA,listB)):
追加((i[a[0],a[1],计数器)))
myDictionary=dict(myList)
对于数据中的数字:
对于myDictionary.keys()中的键:

如果(myDictionary[key][0]
myList.append((i, [a[0], a[1], counter]))
在每个项中放置一个不同的
计数器
,但此时您没有更改计数器,这里的计数器将始终为0。当您稍后增加它时,这只会更改函数变量
计数器
,而不会更改任何元组的元素。因此,我认为您希望每次围绕此循环计算一个新计数器,并且p在每个元组中:

for i,a in enumerate(zip(ListA, ListB)):
   counter = 0
   for number in data:
      if a[0] < number <= a[1]:
         counter += 1
   myList.append((i, a[0], a[1], counter))

对于参数
数据
,您要传递什么?您希望
计数器
为它提供什么值?对于最后两个版本的代码,您在
追加
调用中删除了一些必要的括号。@user2357112我这样做了。已修复。
myDictionary = {}

for i,a in enumerate(zip(ListA, ListB)):
   counter = 0
   for number in data:
      if a[0] < number <= a[1]:
         counter += 1
   myDictionary[i] = a[0], a[1], counter
myList = []
for a in zip(ListA, ListB):
   counter = 0
   for number in data:
      if a[0] < number <= a[1]:
         counter += 1
   myList.append((a[0], a[1], counter))
for a in zip(ListA, ListB):
   counter = sum(a[0] < number <= a[1] for number in data)
   myList.append((a[0], a[1], counter))