首页 > 解决方案 > 在此示例中,带逗号的 for 循环如何工作?

问题描述

def create_dog_breeds_dictionary(dog_breeds_list, dog_groups_list):
    a_dictionary = dict()
    for x in range(0, len(dog_breeds_list)):
        a_dictionary[dog_groups_list[x]] = list(dog_breeds_list[x].split(","))
    return a_dictionary

def print_key_values_in_order(a_dict):
    for x, y in a_dict.items():
        print(x, y)

这是我对大学实验室的一个问题。

我已经设法为此编写代码,但我通过在网上看到您可以使用逗号和 for 循环来解决它,但我不确定它是如何工作的。所以我感到困惑的是for x, y in a_dict.items():这个 for 循环究竟是如何工作的?

标签: python

解决方案


该逗号是tuple unpacking的一部分。具体来说,a_dict.items()返回一个元组列表,每个元组中的第一项是键,每个元组中的第二项是值。在那个 for 循环中,x被设置为键,并被y设置为与其关联的值。

该声明类似于:

for key in a_dict.keys():
    print(key, a_dict[key])

在这种情况下,没有特别的理由使用一种语法或另一种语法,因此请选择对您来说更具可读性的任何语法。在某些情况下,无法替代元组解包。


推荐阅读