2014-02-12 25 views
0

如果我有一本字典,如:如何建立從鍵/值對的字符串在字典

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

我如何率先在每兩個字母的字符串連接在一起,它是一樣的東西......

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

但是我不知道如何讓他們轉換成從該字符串...

+2

通過「首每個字母的」你的意思是鑰匙? –

+3

只是爲了確定,你知道詞典沒有秩序,所以原則上你可以得到'rw'就像你可以得到'wr''一樣容易,對吧? – DSM

回答

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一樣容易。

如果您想要一本帶有保證書的字典,請查看collections.OrderedDict

+0

我想W,R在一起和E,T在一起,因爲試圖做一個codebreaker程序 – user3302738

+0

@ user3302738 - 請參閱我的編輯。 – iCodez

0

這不是完全清楚你的問題是什麼,但如果你想joinkeyvalue在一起,那結果存儲到一個新的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) 
1

如果你想所有的鍵連接成一個字符串,試試這個:

''.join(clues.keys()) 
+1

'.keys'調用是多餘的。 –

+0

@AshwiniChaudhary:怎麼樣?當作爲一個數組來對待時,Python dicts會評估它們的鍵嗎? – Linuxios

+0

因爲通過一個字典的迭代已經返回它的鍵。 –

0

這應該做的伎倆:

''.join(clues.keys()) 
相關問題