2011-04-03 73 views
1

我有一个变量x(列表),看起来像
的Python转换成元组

['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)]

注意,号码是INT。

+0

可能重复的[单独的对象和把它们放进双(http://stackoverflow.com/questions/5526040/separate-objects-and-放了他们,成为对) – Johnsyweb 2011-04-03 05:30:18

回答

7

编号为整数,所请求的

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
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]