我有20个项目的清单。我想创建一个新列表,而不仅仅包含列表中的每个第5项。
我有:
listA=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
for i in len(range(listA)):
print i
如何使用Python从listB
创建listA
? listB
应该等于[5, 10, 15, 20]
。
答案 0 :(得分:4)
你可以使用这个习语
listB = listA[4::5]
这意味着从索引4
开始,每隔5个元素选择一次。
答案 1 :(得分:0)
另一种方法是使用range()
函数创建一个整数列表,它们之间的增量(步长)为5,然后使用它们访问原始列表的索引以将它们附加到新的列表中: / p>
listB=[]
for i in range(4,len(listA),5):
listB.append(listA[i])
range(start, stop[, step])
函数根据使用的参数返回整数列表:
start
- 列表中的第一个整数(可选,默认为0
)。stop
- 列表中生成的最后一个整数将是最大的,但小于stop
的值(stop
将不在列表中)。step
- 列表中值的增量(默认为1
,可以为负数 - 以生成递减列表)。