代码之家  ›  专栏  ›  技术社区  ›  Anciety

如何在字典中唯一地打印出列表中的元素

  •  0
  • Anciety  · 技术社区  · 4 年前

    我想知道如何在不打印副本的情况下唯一地打印出字典中每个列表的元素。对不起,我对编程很陌生。我正在读Python速成课程第2版,想给我的代码增加一点挑战。

    favorite_languages = {
        'jen': ['python', 'c'],
        'mark': ['c'],
        'tom': ['ruby', 'haskell'],
        'amy': ['python', 'ruby'],
    }
    
    print("Mentioned languages:")
    
    for languages in favorite_languages.values(): # Loop over the dictionaries unique values only
        if len(languages) !=  1:
            languages = set(tuple(languages))
            for language in languages:
                print("\t",language.title())
    
    
    1 回复  |  直到 4 年前
        1
  •  1
  •   will-hedges    4 年前

    通过将列表添加到空白列表中,并在末尾获取集合,您可以组合收藏的\u languages.values()中的列表:

    print("Mentioned languages:")
    
    languages = []
    for language in favorite_languages.values():
        languages += language
    
    languages = set(languages)
    
    for language in languages:
        print("\t",language.title())