class Cars(object):
def __init__(self,brand=None,color=None,cost=None):
self.brand = brand
self.color = color
self.cost = cost
想象一下我有 300 輛汽車(從 car1 到 car300)
dict = {"car1":["Toyota","Red",10000],
"car2":["Tesla","White",20000],
"car3":["Honda","Red",15000]
}
我試過的:
dict1 = globals()
for k,v in dict.items():
dict1[f"{k}"] = Cars(v[0],v[1],v[2])
print(k,v)
這是最好的方法嗎?
這是一種激進的方式嗎?
我想學習一種高效、安全的方法
uj5u.com熱心網友回復:
關閉。首先,你似乎有一個名字問題,Cars
verses Coche
。而且您不應該將dict
其用作變數名。而且您確實需要考慮將這些變數放在全域命名空間中是否是一個好主意。除此之外,您不應該使用不向參考的變數添加任何內容的 F 字串,您可以解壓縮串列,并且可以使用 dict 推導而不是回圈
my_dict = {k:Cars(*v) for k,v in dict.items()}
uj5u.com熱心網友回復:
對所有汽車使用字典,而不是全域。
您可以使用字典理解一步創建它。
all_cars = {name: Coche(brand, color, cost) for name, (brand, color, cost) in dict.items()}
print(all_cars['car1'].brand)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/469284.html