4 回答
TA贡献1765条经验 获得超5个赞
因为字符串的乘法不会返回您所期望的内容,它将字符串乘以一个更长的字符串,您最好使用 @deadshot 建议的一段代码:
def inventory(data): return [key for key, val in data.items() for i in range(val)]
输出将如您所期望的那样......
TA贡献1799条经验 获得超8个赞
使用以下代码。
dic = {'coca-cola':3, 'fanta':2}
def inventory(data):
lis = []
for key, val in data.items():
for item in range(0,val):
lis.append(key)
return lis
TA贡献1798条经验 获得超3个赞
将 a 乘以stran int(如您最初的尝试)只会返回str原始 的重复项str。例如3 * 'hi' = 'hihihi'。
相反,您想要返回一个,list其中每个:对中的每个存储次数。下面的理解就是这样做的。keydictvalkeyvaluedictlist
解决方案
def inventory(data):
return [key for key, val in data.items() for i in range(val)]
dic = {'coca-cola':3, 'fanta':2}
print(inventory(dic))
输出
['coca-cola', 'coca-cola', 'coca-cola', 'fanta', 'fanta']
TA贡献1806条经验 获得超5个赞
您好,如果您想解决您的问题,我发现了这个:
dic = {'coca-cola':3, 'fanta':2}
def inventory(data):
lis = []
lis = [[key]* val for key, val in data.items()]
return lis
print (inventory(dic))
你会得到这个:
[['coca-cola', 'coca-cola', 'coca-cola'], ['fanta', 'fanta']]
添加回答
举报