Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据键的值将字典键附加到列表中_Python_List_Loops_Dictionary_Append - Fatal编程技术网

Python 根据键的值将字典键附加到列表中

Python 根据键的值将字典键附加到列表中,python,list,loops,dictionary,append,Python,List,Loops,Dictionary,Append,在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) 然而,这并没有给我我

在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']
它打印一个空列表:

[]

您正在迭代键,而不是值。因此,您需要将该键与实际字典相结合,以检查对应键的值是否等于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)


您正在迭代键,而不是值。因此,您需要将该键与实际字典相结合,以检查对应键的值是否等于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)

您没有检查值,只检查键本身

通过访问该值来检查该值:

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]
您没有检查值,只检查键本身

通过访问该值来检查该值:

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]

您可以迭代字典中的键和值以完成所需的操作:

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)

您可以迭代字典中的键和值以完成所需的操作:

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)

谢谢,我正要使用iteritems(),但是peeps[peep]很简单,效果也很好,谢谢Avinash和Martijn!谢谢,我正要使用iteritems(),但是peeps[peep]很简单,效果也很好,谢谢Avinash和Martijn!我需要调查一下那份清单。在一行中完成某事似乎很好。你们知道什么好的教程吗?@mdandr:你们可以从开始。我需要看看那个些理解列表的东西。在一行中完成某事似乎很好。知道什么好的教程吗?@mdandr:你可以从这个开始。