从列表mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
我如何获得由每个“内部”列表e.i的前两个元素组成的列表的新列表。 newlist = [[1, 2], [4, 5], [7, 8]]
?有没有一种方法可以有效地完成这项工作(对于大型列表清单)?返回列表中的每个列表的元素范围
1
A
回答
7
最简单的方法可能是使用列表理解:
newlist = [sublist[:2] for sublist in mylist]
1
使用列表理解。
newlist = [x[:2] for x in mylist]
3
快速回答:
first_two = [sublist[:2] for sublist in mylist]
如果有一个元组列表是确定的,那么更快的答案(2倍通过我的测量):
import operator
map(operator.itemgetter(0, 1), mylist)
测量:
t = timeit.Timer("[i[:2] for i in ll]", "ll = [[i, i + 1, i + 2] for i in xrange(1000)]")
t.timeit(10000)
>>> 2.2732808589935303
t2 = timeit.Timer("map(operator.itemgetter(0, 1), ll)", "import operator; ll = [[i, i + 1, i + 2] for i in xrange(1000)]")
t2.timeit(10000)
>>> 1.3041009902954102
相关问题
- 1. 返回列表中每个元素的第一个元素?
- 2. 在Ocaml中返回列表的每一个其他元素
- 3. Python的列表操作:鉴于范围数的列表,返回合并范围
- 4. 从列表中返回一个元素
- 5. Python列表索引超出范围,6000个元素列表
- 6. Android,Java:返回3个元素列表中的2个元素
- 7. 列表中的F#返回元素对
- 8. 列表形式的列表中的每个第n个元素
- 9. 范围()不断返回空列表
- 10. lapply列表中的每个元素
- 11. 在Scala中返回一个指定的列表范围
- 12. 如何返回列表中元素的列表迭代器
- 13. Scheme - 将列表中的每个元素转换为列表(列表列表)
- 14. 用特定列表替换列表中的每个元素
- 15. 消除嵌套列表中每个列表的元素
- 16. 返回一个列表中的元素基于另一个列表
- 17. 如何将列表中的每个元素与R中另一个列表中的每个元素分开?
- 18. 时间从每个k列表中至少包含1个元素的最小元素范围的复杂性
- 19. 蟒蛇:做一个列表的元素在一定范围内
- 20. 如何比较列表中的每个元素与另一个列表中的每个元素?
- 21. 将列表中的每个元素与另一个列表中的每个元素相乘lisp
- 22. .join使用Python中的范围生成列表的元素
- 23. 返回一个迭代范围(主列表的子集)
- 24. 如何访问每个列表的第一个元素列表
- 25. 遍历Python中列表中的元素范围
- 26. 从列表中返回值超出列表范围的索引值C#
- 27. Prolog:将列表中的每个元素的值加倍并返回单个列表
- 28. 如何在列表中添加元素而不返回列表?
- 29. 如何添加2D列表的列元素并返回列表中的结果?
- 30. 比较两个列表,并返回在两个列表的第一个元素