['A:2','B:2','C:2','D:1']
你如何摆脱冒号并用逗号替换它?那么,你如何获得上面的代码并使它看起来像下面的代码?
[('A',2),('B',2),('C',2),('D',1)]
答案 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)]