如何获取字符串列表并返回对列表?

时间:2016-01-24 00:08:23

标签: python

['A:2','B:2','C:2','D:1']

你如何摆脱冒号并用逗号替换它?那么,你如何获得上面的代码并使它看起来像下面的代码?

[('A',2),('B',2),('C',2),('D',1)]

4 个答案:

答案 0 :(得分:2)

使用列表理解:

unique

答案 1 :(得分:1)

拆分:上列表中的每个字符串:

>>> L = ['A:2','B:2','C:2','D:1']
>>> [tuple(x.split(':')) for x in L]
[('A', '2'), ('B', '2'), ('C', '2'), ('D', '1')]

答案 2 :(得分:0)

你可能想查找map函数以及split()的工作原理。 lambda允许您制作自己的功能,该地图适用于地图或“地图”。到可迭代L的每个元素

L = ['A:2','B:2','C:2','D:1']

result = map(lambda x:tuple(x.split(':')),L)

如果您希望字母的值为int类型,则:

result = map(lambda x:(x.split(':')[0],int(x.split(':')[0])) ,L)

答案 3 :(得分:0)

>>> items = ['A:2', 'B:2', 'C:2', 'D:1']

>>> [(a, int(b)) for a, b in (item.split(':') for item in items)]
[('A', 2), ('B', 2), ('C', 2), ('D', 1)]