拆分列表并将它们附加到单独的列表
splitting lists and append them to separate lists
我正在尝试拆分来自 grasshopper3d 的包含 24 个对象的列表,
[poly-lines1][poly-lines2]...[poly-lines24] 分为 4 个部分,因此每 6 个多段线列表可以附加到不同且单独的列表 - 每个 6 个对象代表一个框的面,所以每个框都是一个单独的列表 [],其中有 6 个元素——我一直在尝试使用 itertools 库来做到这一点,但我在功能上遇到了问题。
我也试图拆分列表。
def split(polyLines,list_i,n):
list_i.append(polyLines[0:len(polyLines):n])
print list_i
return list_i
lists_of_rocks = int(len(polyLines)/6)
for i in range(0,lists_of_rocks):
list_i = []
print list_i
#split(polyLines,list_i,n)
islice(polyLines,6)
def islice(polyLines,6):
# islice('ABCDEFG', 2) --> A B
# islice('ABCDEFG', 2, 4) --> C D
# islice('ABCDEFG', 2, None) --> C D E F G
# islice('ABCDEFG', 0, None, 2) --> A C E G
s = slice(6)
it = iter(xrange(s.start or 0, s.stop or sys.maxint, s.step or 1))
nexti = next(it)
for i, element in enumerate(polyLines):
if i == nexti:
yield element
nexti = next(it)
I am trying to split a list of 24 objects [...] into 4 parts [...] so each [...] is a seperate list [] has 6 elements
我正在回答那个问题。我不知道你写的其他内容对这个问题有何影响,所以如果我误解了你,我会删除我的答案。
>>> l = range(24)
>>> result = [l[i:i+6] for i in range(0, len(l), 6)]
>>> for x in result: x
...
[0, 1, 2, 3, 4, 5]
[6, 7, 8, 9, 10, 11]
[12, 13, 14, 15, 16, 17]
[18, 19, 20, 21, 22, 23]
l
是您的 24 个任意对象的列表。
我正在尝试拆分来自 grasshopper3d 的包含 24 个对象的列表, [poly-lines1][poly-lines2]...[poly-lines24] 分为 4 个部分,因此每 6 个多段线列表可以附加到不同且单独的列表 - 每个 6 个对象代表一个框的面,所以每个框都是一个单独的列表 [],其中有 6 个元素——我一直在尝试使用 itertools 库来做到这一点,但我在功能上遇到了问题。 我也试图拆分列表。
def split(polyLines,list_i,n):
list_i.append(polyLines[0:len(polyLines):n])
print list_i
return list_i
lists_of_rocks = int(len(polyLines)/6)
for i in range(0,lists_of_rocks):
list_i = []
print list_i
#split(polyLines,list_i,n)
islice(polyLines,6)
def islice(polyLines,6):
# islice('ABCDEFG', 2) --> A B
# islice('ABCDEFG', 2, 4) --> C D
# islice('ABCDEFG', 2, None) --> C D E F G
# islice('ABCDEFG', 0, None, 2) --> A C E G
s = slice(6)
it = iter(xrange(s.start or 0, s.stop or sys.maxint, s.step or 1))
nexti = next(it)
for i, element in enumerate(polyLines):
if i == nexti:
yield element
nexti = next(it)
I am trying to split a list of 24 objects [...] into 4 parts [...] so each [...] is a seperate list [] has 6 elements
我正在回答那个问题。我不知道你写的其他内容对这个问题有何影响,所以如果我误解了你,我会删除我的答案。
>>> l = range(24)
>>> result = [l[i:i+6] for i in range(0, len(l), 6)]
>>> for x in result: x
...
[0, 1, 2, 3, 4, 5]
[6, 7, 8, 9, 10, 11]
[12, 13, 14, 15, 16, 17]
[18, 19, 20, 21, 22, 23]
l
是您的 24 个任意对象的列表。