Python遍历 列表的前 N 个元素
Python遍历列表的前 N 个元素:
- 使用列表切片选择前 N 个元素。
- 使用
for
循环遍历列表的切片。
a_list = ['fql', 'zadmei', 'com', 'a', 'b', 'c']
for item in a_list[:3]:
# fql
# zadmei
# com
print(item)
列表切片的语法是 my_list[start:stop:step]
。
start
索引是包含的,stop
索引是排他的(直到,但不包括)。
如果省略起始索引,则认为它为 0,如果省略停止索引,则切片转到列表的末尾。
Python 索引是从零开始的,因此列表中的第一项的索引为 0,最后一项的索引为 -1 或
len(my_list) - 1
。
切片 a_list[:3]
从索引 0 开始,一直到索引 3,但不包括索引 3。换句话说,切片选择列表的前 3 个元素(索引 0、1 和 2)。
a_list = ['fql', 'zadmei', 'com', 'a', 'b', 'c']
print(a_list[:2]) # 👉️ ['fql', 'zadmei']
print(a_list[:3]) # 👉️ ['fql', 'zadmei', 'com']
print(a_list[:4]) # 👉️ ['fql', 'zadmei', 'com', 'a']
如果列表不包含 N 个元素,则返回整个列表。
a_list = ['fql', 'zadmei', 'com', 'a', 'b', 'c']
print(a_list[:123]) # 👉️ ['fql', 'zadmei', 'com', 'a', 'b', 'c']
或者,我们可以使用 itertools.islice()
方法。
使用 itertools.islice() 迭代列表的前 N 个元素
遍历列表的前 N 个元素:
- 使用
itertools.islice()
类获取列表的前 N 个元素。 - 使用
for
循环遍历列表的切片。
from itertools import islice
a_list = ['fql', 'zadmei', 'com', 'a', 'b', 'c']
for item in islice(a_list, 3):
# fql
# zadmei
# com
print(item)
如果有列表对象,则无需使用 itertools.islice
类。 但是,当我们必须获取其他可迭代对象(例如生成器对象)的前 N 个元素时,通常会使用该类。
islice()
类采用的第一个参数是一个可迭代对象,第二个参数是停止索引。
或者,我们可以使用 range()
类。
使用 range() 遍历列表的前 N 个元素
遍历列表的前 N 个元素:
- 使用
range()
类获取长度为 N 的范围对象。 - 使用
for
循环迭代范围对象。 - 使用索引访问列表的项目。
a_list = ['fql', 'zadmei', 'com', 'a', 'b', 'c']
for index in range(3):
# fql
# zadmei
# com
print(a_list[index])
我们使用
range()
类创建一个范围对象,其中包含列表的前 N 个索引。
range
类通常用于在 for 循环中循环特定次数,并采用以下参数:
- start 表示范围开始的整数(默认为 0)
- stop 直到,但不包括提供的整数
- step 范围将由从开始到结束的每 N 个数字组成(默认为 1)
如果我们只将单个参数传递给 range()
构造函数,则它被视为 stop 参数的值。
for n in range(5):
print(n) # 👉️ 0 1 2 3 4
result = list(range(5))
# 👇️ [0, 1, 2, 3, 4]
print(result)
该示例表明,如果省略
start
参数,则默认为 0,如果省略step
参数,则默认为 1。
在每次迭代中,我们使用索引来访问列表项。
选择哪种方法是个人喜好的问题。 大多数时候使用列表切片就足够了。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。