Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.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 迭代dict(x项除外)_Python_Dictionary - Fatal编程技术网

Python 迭代dict(x项除外)

Python 迭代dict(x项除外),python,dictionary,Python,Dictionary,我有一份这种格式的口述: d_data = {'key_1':value_1,'key_2':value_2,'key_3':value_3,'key_x':value_x,'key_n':value_n} 我必须迭代它的项目: for key,value in columns.items(): do something 除了这对: 'key_x':value_x 只需使用该语句,即可跳到for循环的下一次迭代: for key,value in columns.items():

我有一份这种格式的口述:

d_data = {'key_1':value_1,'key_2':value_2,'key_3':value_3,'key_x':value_x,'key_n':value_n}
我必须迭代它的项目:

for key,value in columns.items():
    do something
除了这对:

'key_x':value_x
只需使用该语句,即可跳到for循环的下一次迭代:

for key,value in columns.items():
    if key == 'key_x':
        continue
    # do something

您可以使用列表理解或生成器表达式来筛选:

for key,value in (i for i in columns.items() if not i==('key_x',value_x)):
    do something

您还可以通过以下方式迭代
filter
内置方法的输出(生成Python3+中的生成器):

>>> for x in filter('key_x'.__ne__, d_data):
        print(x, d_data[x])


key_3 value_3
key_n value_n
key_1 value_1
key_2 value_2 

是的,是我<代码>过滤器+
lambda
是非音速的、缓慢的,并且已被禁用<代码>过滤器('key_x..\u ne__,d_data)是一个等效的替代方案,或者更好的方法是使用理解。@wim…是的…我最近刚刚了解到他们将
过滤器
映射
或任何类似的
lambda
组合在一起的想法会降低性能…谢谢你的建议和更新的代码,现在我的问题是,什么是使用
\uu ne\uuu
或类似方法的适当位置?是否可以仅按值而不是按完整规范值+键进行筛选?尝试
.values()
?IF的语法将是
IF note i==(value\ux)