Как дифференцировать ключ и значения dict на основе разделителей - PullRequest
0 голосов
/ 07 марта 2012

У меня есть диктант типа 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 Ответ

3 голосов
/ 07 марта 2012

Я думаю, вам не нужно никаких условий 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

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...