【发布时间】:2021-04-05 01:19:27
【问题描述】:
我有一个如下的字典和一个名为“multi”的函数,它以数字作为参数。该函数将字典中键的每个值乘以作为参数输入的数字。所以我想做的是,我想迭代函数“multi”,以便计算一定范围的“i”
a_dict={'cms': 123, 'dms': 133, 'test': 111}
def multi(i):
for key, values in a_dict.items():
values=values*i
return (key,values)
multi(2)
这是我做的迭代函数的例子
def iterate_(start,end,range_):
box=[]
for a in range (start,end+1,range_):
data=multi(a)
box.append(data)
return box
这是输出:
iterate_(10,50,10)
Output: [('cms', 1230), ('cms', 2460), ('cms', 3690), ('cms', 4920), ('cms', 6150)]
返回结果只会返回字典的第一个键。我希望它返回所有字典的键以及每次迭代的更新值。
我确实尝试将“return”更改为“print”,设法获取所有带有更新结果的键,但得到一个空列表。
a_dict={'cms': 123, 'dms': 133, 'test': 111}
def multi(i):
for key, values in a_dict.items():
values=values*i
print (key,values)
def iterate_(start,end,range_):
box=[]
for a in range (start,end+1,range_):
data=multi(a)
box.append(data)
a+=5
return box
iterate_(10,50,10)
Output:
cms 1230
dms 1330
test 1110
cms 2460
dms 2660
test 2220
cms 3690
dms 3990
test 3330
cms 4920
dms 5320
test 4440
cms 6150
dms 6650
test 5550
[23]:
[None, None, None, None, None]
【问题讨论】:
-
为什么
a+=5在你的 iterate_ 函数中? -
忘记删除了,我已将其替换为 range (start,end,range_)
标签: python list dictionary iteration