我正在使用 Python2.7,我想循环一个列表 x 次。
a=['string1','string2','string3','string4','string5']
for item in a:
print item
上面的代码将打印列表中的所有五个项目,如果我只想打印前 3 个项目怎么办?我在互联网上搜索但找不到答案,似乎 xrange() 可以解决问题,但我不知道怎么做。
谢谢你的帮助!
我正在使用 Python2.7,我想循环一个列表 x 次。
a=['string1','string2','string3','string4','string5']
for item in a:
print item
上面的代码将打印列表中的所有五个项目,如果我只想打印前 3 个项目怎么办?我在互联网上搜索但找不到答案,似乎 xrange() 可以解决问题,但我不知道怎么做。
谢谢你的帮助!
我认为这将被视为pythonic:
for item in a[:3]:
print item
编辑:由于几秒钟的时间使这个答案变得多余,我将尝试提供一些背景信息:
数组切片允许在字符串列表等序列中快速选择。一维序列的子序列可以由左右端点的索引指定:
>>> [1,2,3,4,5][:3] # every item with an index position < 3
[1, 2, 3]
>>> [1,2,3,4,5][3:] # every item with an index position >= 3
[4, 5]
>>> [1,2,3,4,5][2:3] # every item with an index position within the interval [2,3)
[3]
请注意,左端点包括在内,右端点不包括在内。您可以添加第三个参数以仅选择n
序列的每个 th 元素:
>>> [1,2,3,4,5][::2] # select every second item from list
[1, 3, 5]
>>> [1,2,3,4,5][::-1] # select every single item in reverse order
[5,4,3,2,1]
>>> [1,2,3,4,5][1:4:2] # every second item from subsequence [1,4) = [2,3,4]
[2, 4]
通过将列表转换为numpy数组,甚至可以执行多维切片:
>>> numpy.array([[1,2,3,4,5], [1,2,3,4,5]])[:, ::2]
array([[1, 3, 5],
[1, 3, 5]])
a=['string1','string2','string3','string4','string5']
for i in xrange(3):
print a[i]