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