2012-03-07 69 views
0

x={'a':'1','b':'2','c;0':'a1;b1;b2;b3;b4','c;1':'a2;b2;b3;b4;b5;b6'}類型的字典如何基於分隔符

我很喜歡這個

for key,values in x.iteritems(): 
    if key.split(";") is True: 
     print key,value 
    else: 
     print key,value 

其工作不正常寫程序區分字典項和值。

輸出

什麼,我想在

if key.split(";") is False 
    print key,values 

輸出的執行應該是

a 1 
b 2 

在輸出什麼,我想在

if key.split(";") is True 
    print key,values 

輸出的執行應該是

c;0 a1;b1;b2;b3;b4, 
c;1 a2;b2;b3;b4;b5;b6 

回答

3

我覺得你真的不需要任何if/else條件,因爲你打印鍵/值對兩種情況:

>>> for k, v in x.iteritems(): 
...  print k, v 
a 1 
b 2 
c;1 a2;b2;b3;b4;b5;b6 
c;0 a1;b1;b2;b3;b4 

在您提供的輸出看,我看到的唯一區別是,你的例子是有序的。如果這就是你要找的話,你可以使用sorted這樣的:

>>> for k, v in sorted(x.iteritems()): 
...  print k, v 
a 1 
b 2 
c;0 a1;b1;b2;b3;b4 
c;1 a2;b2;b3;b4;b5;b6 

我希望這有助於。