遍歷三個串列后,我無法創建嵌套字典:
年=[1963,1967]
制造商=['捷豹 E-Type','MG MGB Roadster']
里程=[29382,12357]
目的是獲得:
{老爺車 1:{車:Jaguar E-Type,年份:1963,里程:29382},老爺車 2:{車:MG MGB Roadster,年份:1967,里程:12357}}
我該怎么做?
這是我的代碼:
def classiccars():
for car in manufacturer:
classiccar={}
position=manufacturer.index(car)
classiccar["Car"]=car
classiccar["Year"]=year[position]
classiccar["Mileage"]=mileage[position]
classiccar_update={}
classiccar_update[car]=classiccar_update
print(classiccar_update)
classiccars()
uj5u.com熱心網友回復:
您可以將字典理解與zip()and一起使用enumerate()來生成所需的鍵值對:
{f"Classic_Car_{idx}": dict(zip(['Car', 'Year', 'Mileage'], values))
for idx, values in enumerate(zip(manufacturer, year, mileage), start=1)}
這輸出:
{
'Classic_Car_1': {'Car': 'Jaguar E-Type', 'Year': 1963, 'Mileage': 29382},
'Classic_Car_2': {'Car': 'MG MGB Roadster', 'Year': 1967, 'Mileage': 12357}
}
uj5u.com熱心網友回復:
您可以使用zip一次迭代多個值(如果所有引數的長度相同)。
y = {}
for i, car, yr, miles in zip(range(1, len(year) 1), manufacturer, year, mileage):
y[f"Classic Car {i}"] = {"Car": car, "Year": yr, "Mileage": miles}
>>> y
{'Classic Car 1': {'Car': 'Jaguar E-Type', 'Mileage': 29382, 'Year': 1963},
'Classic Car 2': {'Car': 'MG MGB Roadster', 'Mileage': 12357, 'Year': 1967}}
或者理解:
y = {f"Classic Car {i}": {"Car": car, "Year": yr, "Mileage": miles}
for i, car, yr, miles in zip(range(1, len(year) 1), manufacturer, year, mileage)}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/465159.html
上一篇:字典制作奇怪的鍵:值對
下一篇:如何在行尾中斷for回圈
