簡體   English   中英

在 Python 中更新字典中的值列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM