如何使用 while 循环遍历字典中的项目?
how to iterate over items in dictionary using while loop?
我知道如何使用 for 循环遍历字典中的项目。但我需要知道如何使用 while 循环 遍历字典中的项目。这可能吗?
这是我用 for 循环尝试的方式。
user_info = {
"username" : "Hansana123",
"password" : "1234",
"user_id" : 3456,
"reg_date" : "Nov 19"
}
for values,keys in user_info.items():
print(values, "=", keys)
如果访问 while 循环,则不能使用 while 循环迭代 dict,因为 dict 元素是无序的,并且在 while 循环中,您只能通过索引访问 str 列表元组等可迭代对象,而 dict 没有索引。我希望它能澄清你的问题。
这不是我做的完美解决方案,但它在 while 循环中
user_info = {
"username" : "Hansana123",
"password" : "1234",
"user_id" : 3456,
"reg_date" : "Nov 19"
}
i = 0
length = len(list(user_info.items()))
keys, values = list(user_info.keys()), list(user_info.values())
while i < length:
print(values[i], "=", keys[i])
i += 1
您可以使用 iter
和 next
以及 while
循环来迭代字典的项目。这 几乎 与 for
循环如何在后台对任何可迭代对象执行迭代的过程相同。
- https://docs.python.org/3/library/functions.html
- https://docs.python.org/3/library/stdtypes.html#iterator-types
代码:
user_info = {
"username" : "Hansana123",
"password" : "1234",
"user_id" : 3456,
"reg_date" : "Nov 19"
}
print("Using for loop...")
for key, value in user_info.items():
print(key, "=", value)
print()
print("Using while loop...")
it_dict = iter(user_info.items())
while key_value := next(it_dict, None):
print(key_value[0], "=", key_value[1])
输出:
Using for loop...
username = Hansana123
password = 1234
user_id = 3456
reg_date = Nov 19
Using while loop...
username = Hansana123
password = 1234
user_id = 3456
reg_date = Nov 19
我知道如何使用 for 循环遍历字典中的项目。但我需要知道如何使用 while 循环 遍历字典中的项目。这可能吗?
这是我用 for 循环尝试的方式。
user_info = {
"username" : "Hansana123",
"password" : "1234",
"user_id" : 3456,
"reg_date" : "Nov 19"
}
for values,keys in user_info.items():
print(values, "=", keys)
如果访问 while 循环,则不能使用 while 循环迭代 dict,因为 dict 元素是无序的,并且在 while 循环中,您只能通过索引访问 str 列表元组等可迭代对象,而 dict 没有索引。我希望它能澄清你的问题。
这不是我做的完美解决方案,但它在 while 循环中
user_info = {
"username" : "Hansana123",
"password" : "1234",
"user_id" : 3456,
"reg_date" : "Nov 19"
}
i = 0
length = len(list(user_info.items()))
keys, values = list(user_info.keys()), list(user_info.values())
while i < length:
print(values[i], "=", keys[i])
i += 1
您可以使用 iter
和 next
以及 while
循环来迭代字典的项目。这 几乎 与 for
循环如何在后台对任何可迭代对象执行迭代的过程相同。
- https://docs.python.org/3/library/functions.html
- https://docs.python.org/3/library/stdtypes.html#iterator-types
代码:
user_info = {
"username" : "Hansana123",
"password" : "1234",
"user_id" : 3456,
"reg_date" : "Nov 19"
}
print("Using for loop...")
for key, value in user_info.items():
print(key, "=", value)
print()
print("Using while loop...")
it_dict = iter(user_info.items())
while key_value := next(it_dict, None):
print(key_value[0], "=", key_value[1])
输出:
Using for loop...
username = Hansana123
password = 1234
user_id = 3456
reg_date = Nov 19
Using while loop...
username = Hansana123
password = 1234
user_id = 3456
reg_date = Nov 19