在for循环中如何使用两个变量

问题描述 投票:-3回答:2

我开始阅读python文档。我结束了这句话:

在迭代集合时修改集合的代码收集可能很难正确。相反,它通常更多简单地循环遍历集合的副本或创建一个新收藏:

# Strategy:  Iterate over a copy
for user, status in users.copy().items():
    if status == 'inactive':
        del users[user]

# Strategy:  Create a new collection
active_users = {}
for user, status in users.items():
    if status == 'active':
        active_users[user] = status

我听不懂解决方案。此代码如何工作?我的意思是我有了使用一个变量迭代列表的想法,但是使用两个变量很难理解。来源:https://docs.python.org/3/tutorial/controlflow.html#for-statements

python loops for-loop control-flow
2个回答
1
投票

此代码同时遍历用户和状态:如果用户状态为“非活动”,程序将删除该用户在第二个for循环中,如果用户“处于活动状态”,则会将该用户添加到“活动用户”字典中;当您要同时循环浏览字典的键和值对时,必须使用dict.items( )方法,items()方法允许您同时遍历每个字典元素(或元组)的项目,这里的项目是用户和状态,这就是为什么还有两个迭代变量也被称为用户和状态的原因] >


0
投票

简单示例:假设您有一本物理电话簿,并且想在其中查找朋友或家人。 Python中的等效项是:

© www.soinside.com 2019 - 2024. All rights reserved.