如何在Python中生成首尾元素重复的序列以构建闭合多边形?
一行代码实现多边形闭合序列生成
构建闭合多边形时,需要将序列的首个元素追加到末尾,且要批量处理多个多边形,无法手动操作。现有用range生成的序列:
s = [i for i in range(10)] # 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
以下几种一行代码写法都能实现需求:
直接拼接原列表与首个元素的单元素列表:
s + [s[0]] # 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0]这种方式简洁高效,适用于所有非空序列,批量处理时只需对每个多边形序列执行此操作即可。
如果不想提前定义
s,可以在生成列表的同时完成闭合:[i for i in range(10)] + [0]若range的上限是动态变量
n,可以写成:list(range(n)) + [list(range(n))[0]]也可以用切片写法(效果和第一种一致):
s[:] + [s[0]]
内容的提问来源于stack exchange,提问作者g9c
相关产品推荐
相关产品推荐

