4 回答

TA貢獻(xiàn)1765條經(jīng)驗(yàn) 獲得超5個(gè)贊
因?yàn)樽址某朔ú粫?huì)返回您所期望的內(nèi)容,它將字符串乘以一個(gè)更長(zhǎng)的字符串,您最好使用 @deadshot 建議的一段代碼:
def inventory(data): return [key for key, val in data.items() for i in range(val)]
輸出將如您所期望的那樣......

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
使用以下代碼。
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貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊
將 a 乘以stran int(如您最初的嘗試)只會(huì)返回str原始 的重復(fù)項(xiàng)str。例如3 * 'hi' = 'hihihi'。
相反,您想要返回一個(gè),list其中每個(gè):對(duì)中的每個(gè)存儲(chǔ)次數(shù)。下面的理解就是這樣做的。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貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
您好,如果您想解決您的問題,我發(fā)現(xiàn)了這個(gè):
dic = {'coca-cola':3, 'fanta':2}
def inventory(data):
lis = []
lis = [[key]* val for key, val in data.items()]
return lis
print (inventory(dic))
你會(huì)得到這個(gè):
[['coca-cola', 'coca-cola', 'coca-cola'], ['fanta', 'fanta']]
添加回答
舉報(bào)