我有一個串列,其中包含來自同一類的實體的所有名稱(字串)。我想使用for回圈遍歷該串列并一一更改其屬性,但會引發此錯誤:AttributeError: 'str' object has no attribute 'fixedColor'
我應該創建另一個包含物件而不是字串的串列,還是有辦法使用字串物件訪問它們?
我想在這里應用它:
listaCartas_temp = listaCartas
listaColores_temp = listaColores
for i in listaCartas:
a=random.choice(listaCartas_temp)
listaCartas_temp.remove(a)
b=random.choice(listaCartas_temp)
listaCartas_temp.remove(b)
color = random.choice(listaColores_temp)
listaColores_temp.remove(color)
pairs.append(tuple([a, b]))
a.fixedColor = color
b.fixedColor = color
其中 listaCartas(和 listaCartas_temp)是包含這些字串的串列。我有各種卡片(cartas)。我想制作獨特的配對并為每對分配顏色。
uj5u.com熱心網友回復:
您可以使用字典將相關字串與指定值匹配
fixedColor = {}
fixedColor[a] = color
fixedColor[b] = color
當您想訪問顏色時,只需執行
xxx = fixedColor[b]
它就像呼叫你的“ b.fixedColor”一樣
uj5u.com熱心網友回復:
String 只是一個字串變數。它沒有任何屬性。你不能從他們的名字訪問一個物件。您可以通過該物件的變數訪問該物件。您需要訪問您的屬性,例如“object.attribute”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/448680.html
