Pee*_*alu 2 python tuples list
你能帮我转换一下Python列表:
[(1, 'a'), (2, 'b'), (2, 'c'), (3, 'd'), (3, 'e')]
Run Code Online (Sandbox Code Playgroud)
所以:
(1, 'a')是索引0
(2, 'b'), (2, 'c') 都是索引1
(3, 'd'), (3, 'e') 都是索引2
简单地说,元素[0]相等的所有元组都具有相同的索引.
谢谢,
itertools.groupby 救援!:
lst = [(1, 'a'), (2, 'b'), (2, 'c'), (3, 'd'), (3, 'e')]
lst.sort(key=lambda x: x[0]) #Only necessary if your list isn't sorted already.
new_lst = [list(v) for k,v in itertools.groupby(lst,key=lambda x:x[0])]
Run Code Online (Sandbox Code Playgroud)
你可以用operator.itemgetter(0)而不是lambda你想要的......
演示:
>>> import itertools
>>> lst = [(1, 'a'), (2, 'b'), (2, 'c'), (3, 'd'), (3, 'e')]
>>> lst.sort(key=lambda x: x[0])
>>> new_lst = [list(v) for k,v in itertools.groupby(lst,key=lambda x:x[0])]
>>> new_lst
[[(1, 'a')], [(2, 'b'), (2, 'c')], [(3, 'd'), (3, 'e')]]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |