大家好,又见面了,我是你们的朋友全栈君。
实际上,“使用for循环遍历数组的最简单方法”(Python类型被命名为“list”BTW)是第二种方法,即for item in somelist:
do_something_with(item)
哪个FWIW适用于所有iterable(列表、元组、集合、dict、迭代器、生成器等)。
基于范围的C风格版本被认为是非常不通俗的,并且只适用于列表或类似列表的iterable。What I would like to know is what this doesfor i, j in range(len(array)):
# What is i and j here?
好吧,你可以自己测试一下。。。但结果是显而易见的:它将引发一个TypeError,因为解包只对iterable有效,而int不可iterable。orfor i, j in array:
# What is i and j in this case?
取决于什么是array,以及在迭代时它产生什么。如果它是一个2元组列表或生成2元组的迭代器,i和j将是当前迭代项的元素,即:array = [(letter, ord(letter)) for letter in “abcdef”]
for letter, letter_ord in array:
print(“{} : {}”.format(letter, letter_ord))
否则,它很可能也会引发类型错误。
注意,如果您希望同时拥有项和索引,那么解决方案是内置的enumerate(sequence),它为每个项生成一个(index, item)元组:array = list(“abcdef”)
for index, letter in enumerate(array):
print(“{} : {}”.format(index, letter)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170078.html原文链接:https://javaforall.cn