[英]Updating lists that are values in a dictionary in Python
我有一個空值的字典。 我希望字典的值是包含來自另一個屬性列表的 2 個隨機項的列表,但是如果第一個隨機屬性是 attribute1 或 attribute2,那么第二個隨機屬性不能再次是 attribute1 或 attribute2。 此外,通常列表中的 2 個屬性不能相同。 這就是我現在所擁有的:
import random
elem_list = ['Elem1', 'Elem2', 'Elem3']
dict_1 = dict.fromkeys(elem_list)
attributes = ['attribute1', 'attribute2', 'attribute3', 'attribute4']
attributes2= ['attribute3', 'attribute4']
#First elem in value list for dictionary is random
for elem in dict_1:
dict_1[elem] = [random.choice(attributes)]
#2nd is dependent
for elem in dict_1:
if dict_1[elem] == 'attribute1' or 'attribute2':
for elem in dict_1[elem]:
elem.append(random.choice(attributes2))
print(dict_1)
所以最后 dict_1 應該是這樣的:
dict_1 = {
'Elem1': ['attribute1', 'attribute3'],
'Elem2': ['attribute2', 'attribute4'],
'Elem3': ['attribute3', 'attribute4'
}
您的腳本存在各種問題,例如:
代替
if dict_1[elem] == 'attribute1' or 'attribute2':
你可能是這個意思:
if dict_1[elem][0] == 'attribute1' or dict_1[elem][0] == 'attribute2':
請嘗試隔離您遇到的問題並更詳細地描述它們,而不是發布您的整個腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.