我有以下代码:
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中使用字典时这可能吗?谢谢!
答案 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