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

将字典转换为元组并按相反顺序打印

  •  0
  • AHF  · 技术社区  · 5 年前

    {“AR”:真,“VF”:假,“Siss”:真}

    下面是我的代码片段,当我将它转换为元组时,它以字符而不是字符串的形式显示输出

    for i in dic:
            if dic[i]==True:
                t = tuple(i)
                print (t)
                Reverse(t)
    def Reverse(tuples): 
        new_tup = tuples[::-1] 
        return new_tup 
    

    如何将这些字符转换为单词/字符串?

    3 回复  |  直到 5 年前
        1
  •  1
  •   pakpe    5 年前

    下面是一个简单的分步方法,它使用一个列表作为中间,用字典中相应的键填充它,反转列表,然后将它转换为一个元组。

    dic = {"AR":True,"VF":False,"Siss":True}
    
    lst = []
    for key in dic:
            if dic[key]: (# ==True is redundant)
                lst.append(key)
    
    lst.reverse()
    result = tuple(lst)
    
    print(result)
    #('Siss', 'AR')
    
        2
  •  2
  •   Lior Cohen    5 年前

    d = {'AR': True, 'VF': False, 'Siss': True}
    print(tuple(k for k,v in reversed(d.items()) if v is True))
    
    ('Siss', 'AR')
    
        3
  •  1
  •   Monolith Mehul Kabaria    5 年前

    功能性方法:

    dictionary = { "AR": True, "VF": False, "Siss": True }
    filtered = filter(lambda kv: kv[1], reversed(dictionary.items()))
    just_key = map(lambda kv: kv[0], filtered)
    
    print(list(just_key))
    

    它的工作原理是:

    1. reversed -在字典中查找键值对
    2. filter False
    3. map