gpt4 book ai didi

python - 只迭代 python 字典的两个键

转载 作者:行者123 更新时间:2023-12-02 00:52:35 25 4
gpt4 key购买 nike

使用这样的设置迭代字典的 pythonic 方法是什么:

dict = {'a': [1, 2, 3], 'b': [3, 4, 5], 'c': 6}

如果我只想对 ab 中的所有值进行 for 循环并跳过 c。显然有一百万种方法可以解决这个问题,但我宁愿避免这样的事情:

for each in dict['a']:
# do something
pass
for each in dict['b']:
# do something
pass

破坏性的东西,比如:

 del dict['c']
for k,v in dict.iteritems():
pass

最佳答案

更通用的方法是通过将 if 放在生成器表达式的末尾来使用类似过滤器的方法。

如果你想遍历每一个可迭代的值,用hasattr过滤:

for key in (k for k in dict if hasattr(dict[k], '__iter__')):
for item in dict[key]:
print(item)

如果您想排除某些键,请使用“不在”过滤器中:

invalid = set(['c', 'd'])
for key in (k for k in dict if key not in invalid):
....

如果您只想选择特定的键,请使用“in”过滤器:

valid = set(['a', 'b'])
for key in (k for k in dict if key in valid):
....

关于python - 只迭代 python 字典的两个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38559145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com