Преобразование Python из списка в кортеж - PullRequest
1 голос
/ 03 апреля 2011

У меня есть переменная x (список), которая выглядит как

['JACKIE:34', 'MATT:444', 'CEN:12', 'PETE:12', 'RANDY:92', 'MITCH:2', 'JAN:2']

, которую затем я хотел бы преобразовать в кортеж (попарно), чтобы она выглядела как
[('JACKIE',34), ('MATT',444), ('CEN',12), ('PETE',12), ('RANDY',92), ('MITCH',2), ('JAN',2)]

Обратите внимание, что число является целым.

Ответы [ 2 ]

7 голосов
/ 03 апреля 2011

Числа в виде целых, по запросу

before = ['JACKIE:34', 'MATT:444', 'CEN:12', 'PETE:12', 'RANDY:92', 'MITCH:2', 'JAN:2']
after = [(name, int(value)) for name, value in (x.split(':') for x in before)]
print after
2 голосов
/ 03 апреля 2011
a = ['JACKIE:34', 'MATT:444', 'CEN:12', 'PETE:12', 'RANDY:92', 'MITCH:2', 'JAN:2']
b = [x.split(':') for x in a]
b = [(x[0], int(x[1])) for x in b]
...