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