如何计算嵌套在字典中的列表中的项目数?

how to count the number of items in a list which is nested in a dictionary?

嘿,我正在学习 python 并且需要计算嵌套列表中的项目,如下所示, 这样我就可以根据此人是否有一种或多种最喜欢的语言给出答案:

favourite_languages = {
    'Joe': ['French'],
    'Jim': ['Spanish', 'Portugese'],
    'Alan':['German', 'Swedish']
}
for name, lang in favourite_languages.items():
    if len(name) == 1:
        print(f"{name}'s favourite language is {lang}")
    elif len(name > 1):
        print(f"{name}'s favourite languages are {lang}")

非常感谢你们!

要检查字典中每个语言列表的长度,您可以使用 len(NameOfDictionary[key]) 表达式或 len(value)直接。对于 for 循环中的每次迭代,变量 name 存储了键,变量 lang 存储了值,因此您可以使用 len(favourite_languages[name]) 表达式或 len(lang) 直接。

favourite_languages = {
    'Joe': ['French'],
    'Jim': ['Spanish', 'Portugese'],
    'Alan':['German', 'Swedish']
}

for name, lang in favourite_languages.items():
    if len(favourite_languages[name]) == 1:
        print(f"{name}'s favourite language is {lang}")
    elif len(favourite_languages[name]) > 1:
        print(f"{name}'s favourite languages are {lang}")

你很接近,你只是在检查错误变量的长度...

favourite_languages = {
    'Joe': ['French'],
    'Jim': ['Spanish', 'Portugese'],
    'Alan':['German', 'Swedish']
}

for name, langs in favourite_languages.items():
    if not len(langs):
        print(f"{name} has no favorite language.")
    elif len(langs) == 1:
        print(f"{name}'s favourite language is {langs}")
    else:
        print(f"{name}'s favourite languages are {langs}")