我想在沒有任何庫或特殊功能的情況下實作這一點,只是回圈。我想要一個主程式,它接受 2 個輸入,即 2 個串列并回傳如下所示的字典。
Please enter the item names: Cans, bottles, boxes, jugs
please enter quantities : 20,34,10
output : {'Cans':'20','bottles':'34','boxes':'10','jugs':'0'}
如果專案串列比數量長,則數量自動變為 0,就像上面的水壺一樣。
uj5u.com熱心網友回復:
用逗號作為分隔符分割。對于等于鍵和值之間的長度差的迭代次數,用零填充值。
然后使用字典理解來構建你的字典。這與zip內置函式。
keys = 'a,b,c,d'
values = '1,2,3'
keys = keys.split(',')
values = values.split(',')
for i in range(len(keys) - len(values)):
values.append('0')
print({k: v for k, v in zip(keys, values)})
輸出:
{'a': '1', 'b': '2', 'c': '3', 'd': '0'}
這僅使用內置呼叫,因此它最多可以滿足您的要求。
uj5u.com熱心網友回復:
item_names = ['Cans', 'Bottles', 'boxes', 'jugs']
quantities = [20, 34, 10]
output_dict = {}
for i, item in enumerate(item_names):
if i > len(quantities) - 1:
output_dict.update({item : 0})
else:
output_dict.update({item : quantities[i]})
uj5u.com熱心網友回復:
a = list(input().split(','))
b = list(map(int, input().split(',')))
res = {}
for i in range(len(a)):
res[a[i]] = b[i] if i < len(b) else 0
print(res)
uj5u.com熱心網友回復:
list1 = ['cans','Bottles','Boxes','Jugs']
list2 = [1,2,3]
res = {}
for i, element in enumerate(list1):
try:
res[element] = list2[i]
except IndexError:
res[element] = 0
print(res)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/357897.html
