python 2.7 - 将列表从 a 切片到 b,而不是从 b 到 c,
python 2.7 - slice a list from a to b than b to c,
您好,我只是想从积分列表中获取积分。
步骤也都在列表里,每一步都不一样
例如:按索引从 0 到 10 获取分数而不是从 11 到 16。
列表是示例。真正的名单要大得多。
这是我的代码:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
number=[10,5,2,20,..,4)
pointlist=[point1,point2,..,point900]
result=[]
a=0
i=0
for elem in number:
result.append(list[a:a+number[i]])
i+=1
print = result
瞬间报错
TypeError: expected Array[Type], got slice
in line "result.append(list[a:a+number[i]])"
我做错了什么?
任何帮助都会很棒!
这是一个类似主题的link:Explain Python's slice notation
这是您要找的吗:
number=[10,5,2,20,12,15,6,9,12,14,4]
pointlist=[2,4,7,10]
result=[]
index = 0
for elem in pointlist:
result.append(number[index:elem])
index = elem
result.append(number[index:])
print(result)
输出:
[[10, 5], [2, 20], [12, 15, 6], [9, 12, 14], [4]]
您使用了错误的名称 list
但您有 pointlist
。
而且您不需要 i
因为您可以使用 elem
number = [10, 5, 2, 20, 4]
pointlist = ['point'+str(i) for i in range(1, 51)]
result = []
a = 0
for elem in number:
b = a + elem
result.append(pointlist[a:b])
a = b
print(result)
结果
[
['point1', 'point2', 'point3', 'point4', 'point5', 'point6', 'point7', 'point8', 'point9', 'point10'],
['point11', 'point12', 'point13', 'point14', 'point15'],
['point16', 'point17'],
['point18', 'point19', 'point20', 'point21', 'point22', 'point23', 'point24', 'point25', 'point26', 'point27', 'point28', 'point29', 'point30', 'point31', 'point32', 'point33', 'point34', 'point35', 'point36', 'point37'],
['point38', 'point39', 'point40', 'point41']
]
您好,我只是想从积分列表中获取积分。 步骤也都在列表里,每一步都不一样
例如:按索引从 0 到 10 获取分数而不是从 11 到 16。
列表是示例。真正的名单要大得多。
这是我的代码:
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
number=[10,5,2,20,..,4)
pointlist=[point1,point2,..,point900]
result=[]
a=0
i=0
for elem in number:
result.append(list[a:a+number[i]])
i+=1
print = result
瞬间报错
TypeError: expected Array[Type], got slice
in line "result.append(list[a:a+number[i]])"
我做错了什么? 任何帮助都会很棒!
这是一个类似主题的link:Explain Python's slice notation
这是您要找的吗:
number=[10,5,2,20,12,15,6,9,12,14,4]
pointlist=[2,4,7,10]
result=[]
index = 0
for elem in pointlist:
result.append(number[index:elem])
index = elem
result.append(number[index:])
print(result)
输出:
[[10, 5], [2, 20], [12, 15, 6], [9, 12, 14], [4]]
您使用了错误的名称 list
但您有 pointlist
。
而且您不需要 i
因为您可以使用 elem
number = [10, 5, 2, 20, 4]
pointlist = ['point'+str(i) for i in range(1, 51)]
result = []
a = 0
for elem in number:
b = a + elem
result.append(pointlist[a:b])
a = b
print(result)
结果
[
['point1', 'point2', 'point3', 'point4', 'point5', 'point6', 'point7', 'point8', 'point9', 'point10'],
['point11', 'point12', 'point13', 'point14', 'point15'],
['point16', 'point17'],
['point18', 'point19', 'point20', 'point21', 'point22', 'point23', 'point24', 'point25', 'point26', 'point27', 'point28', 'point29', 'point30', 'point31', 'point32', 'point33', 'point34', 'point35', 'point36', 'point37'],
['point38', 'point39', 'point40', 'point41']
]