Python - 从字符串顺序中的值打印dict键

时间:2017-12-02 18:59:28

标签: string python-3.x dictionary

我有以下代码:

d = {'one' : '11111111', 'two' : '01010101', 'three' : '10101010'}

string = '01010101 11111111 10101010'

text = ''

for key, value in d.items():
    if value in string:
        text += key
print(text)

输出:onetwothree

然而,我想要的输出是字符串的顺序,所以:twoonethree。在python中使用字典时这可能吗?谢谢!

2 个答案:

答案 0 :(得分:2)

颠倒你的词典(d)会有所帮助:

val2key = {value: key for key, value in d.items()}
text = "".join(val2key[value] for value in string.split())
print(text)
  

twoonethree

答案 1 :(得分:1)

一种解决方案是将字符串拆分为列表并循环显示该列表中的每个项目。

编辑: split()方法使用分隔符返回所有单词的列表,在这种情况下使用空白空格(如果是空格,可以将其称为string.split()方式。)

dict = {'one' : '11111111', 'two' : '01010101', 'three' : '10101010'}

string = '01010101 11111111 10101010'

text = ''

for item in string.split(" "):
    for key, value in dict.items():
        if value == item:
            text += key + " "
print(text)

输出:two one three