此问题已在此处有答案:
How slicing in Python works(38回答)
16小时前关门了。
有这样一个任务:
我有一个清单:
a = ["1", "2"]
for循环:
for i in range(0, 2):
print(a[i])
但是如果列表只有一个元素:
a = ["1"]
则会出现错误:索引错误:列表索引超出范围
怎样才能保持结构
for i in range(0, 2):
此问题已在此处有答案:
How slicing in Python works(38回答)
16小时前关门了。
有这样一个任务:
我有一个清单:
a = ["1", "2"]
for循环:
for i in range(0, 2):
print(a[i])
但是如果列表只有一个元素:
a = ["1"]
则会出现错误:索引错误:列表索引超出范围
怎样才能保持结构
for i in range(0, 2):
4条答案
按热度按时间dsf9zpds1#
您可以使用
try:except
块来处理此问题但一般来说,最好是遍历列表本身
rdlzhqv92#
直接遍历列表:
如果你特别想迭代
a
的索引而不是它的元素(注意,大多数时候这是不必要的复杂,你不应该这样做),基于a
的len
构建range
,而不是指定一个硬编码的数字,如2:xqk2d5yq3#
你可以在不使用
range
的情况下使用for
,而只使用列表示例,例如。给出输出
tcomlyy64#
不是在索引范围内迭代,而是直接在列表的切片上迭代。这里有用的是,例如,如果列表的元素少于10个,
lst[:10]
不会失败-它只是给出所有元素。在你的例子中:
它只打印
1
。这就是为什么你应该更喜欢像
for object in collection
这样的循环而不是for index in range_of_indexes
的原因之一。