簡體   English   中英

根據鍵的值將字典鍵添加到列表中

[英]Append a dictionary key to a list depending on the value of the key

在for循環中進行迭代時,如果該項目的值為1 ,我試圖將字典項目的鍵追加到列表中。

我所擁有的是:

peeps = {'scoobydoo':0, 'shaggy':0, 'scrappydoo':0, 'velma':1, 'freddy':0, 'daphne':1}
ignore_list = []
for peep in peeps:
    if peep == 1:
        ignore_list.append(peep)
print(ignore_list)

但是,這並沒有給我我所期望的:

['velma', 'daphne']

它打印一個空列表:

[]

您無需檢查 ,僅檢查鍵本身。

通過訪問檢查值:

for peep in peeps:
    if peeps[peep] == 1:
        ignore_list.append(peep)

或將鍵和值一起循環:

for peep, peep_value in peeps.items():
    if peep_value == 1:
        ignore_list.append(peep)

您可以在此處使用列表理解一步建立列表:

ignore_list = [peep for peep, peep_value in peeps.items() if peep_value == 1]

您正在遍歷鍵而不是值。 因此,您需要將鍵與實際字典結合起來,以檢查相應鍵的值是否等於1。

peeps = {'scoobydoo':0, 'shaggy':0, 'scrappydoo':0, 'velma':1, 'freddy':0, 'daphne':1}
ignore_list = []
for peep in peeps:
    if peeps[peep] == 1:
        ignore_list.append(peep)
print(ignore_list)

要么

peeps = {'scoobydoo':0, 'shaggy':0, 'scrappydoo':0, 'velma':1, 'freddy':0, 'daphne':1}
print([key for key,value in peeps.items() if value == 1])

您可以遍歷字典的鍵和值來完成所需的操作:

peeps = {'scoobydoo':0, 'shaggy':0, 'scrappydoo':0, 'velma':1, 'freddy':0, 'daphne':1}
ignore_list = []
for key, value in peeps.items():
    if value == 1:
        ignore_list.append(key)
print(ignore_list)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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