【发布时间】:2023-04-01 01:56:01
【问题描述】:
例如,我需要从一维坐标列表中创建一个 2 元组列表[1, 2, 1, 5]
需要成为[(1, 2), (1, 5)]
。碰巧我已经在Activestate 找到了最快、最通用的方法,但是那里列出的代码对于相对的 Python 新手来说是不透明的:
def group3(lst, n):
return itertools.izip(*[itertools.islice(lst, i, None, n) for i in range(n)])
谁能用英语解释这段代码的作用?在这种情况下,星号在做什么?谢谢。
【问题讨论】:
-
查看我的answer 了解有关星号的另一个问题
-
我可以用 Python 来解释。
itertools
是为了提高效率。将其替换为相应的内置函数,它变成了return zip(*[lst[i::n] for i in range(n)])
,希望更容易理解。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python:如何将“平面”序列转换为元组序列? - Python技术站