如何根据分隔符区分dict键和值

时间:2012-03-07 07:25:27

标签: python dictionary

我有一个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

1 个答案:

答案 0 :(得分: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

我希望这会有所帮助。