如何在dict中从键/值对构建一个字符串

时间:2014-02-12 17:22:18

标签: python string dictionary

如果我有一本字典,例如:

clues = {'w':'e','r':'t'}

如何让两个字母中的第一个字母以字符串形式连接在一起,就像......

for clue in clues:
   clue = ''.join( 

但是我不知道怎么把它们变成一个字符串...

4 个答案:

答案 0 :(得分:2)

修改

您可以使用list comprehension

>>> clues = {'w':'e','r':'t'}
>>> [''.join(x) for x in (clues, clues.values())]
['wr', 'et']
>>>


  

你怎么能把两个字母中的第一个字母连接在一起呢?   在一个字符串

我认为你在谈论字典的关键。如果是,那么您可以使用str.join

>>> clues = {'w':'e','r':'t'}
>>> ''.join(clues)
'wr'
>>>

此外,迭代字典(这是str.join正在做的事情)将产生其密钥。因此,没有必要这样做:

''.join(clues.keys())

最后,@ DSM提出了一个很好的观点。字典在Python中自然是无序的。这意味着,可以获得rw,就像获得wr一样容易。

如果您想要一本包含guarunteed订单的字典,请查看collections.OrderedDict

答案 1 :(得分:1)

如果你想把所有的键加入一个字符串,试试这个:

''.join(clues.keys())

答案 2 :(得分:0)

目前还不完全清楚您的问题是什么,但如果您想join keyvalue一起,将结果存储到新的set中,是解决方案:

>>> {''.join(key_value) for key_value in clues.items()}
set(['rt', 'we'])

为了清晰起见,写得很长:

out_set = set()
for key_value in clues.items():
    key_value_joined = ''.join(key_value)
    out_set.add(key_value_joined)

答案 3 :(得分:0)

这应该可以解决问题:

''.join(clues.keys())