对列表变量赋值感到困惑

时间:2015-12-23 16:11:38

标签: python list variables

我正在读一本书,我遇到了这个示例程序。我不确定第5行的numbers[position]是如何在这里工作的?该变量赋值中positionnumbers之间的关系是什么?

numbers = [1, 3, 5]
position = 0

while position < len(numbers):
    number = numbers[position]
    if number % 2 == 0:
        print "Found even number", number
        break
    position = position + 1

else:
    print "No even number found"

4 个答案:

答案 0 :(得分:1)

方括号内的数字是列表的索引,

喜欢这样

lst = ["b", "c", 3] # Take care not to use "list" as a variable name by the way.
print lst[0]        # I used lst in my example

给你:

"b"

列表的第一个元素。

然而,我不能不说,for循环是一种更好的方法。而不是逐个递增位置并告诉while循环在到达列表长度时停止对于理解概念是有好处的。我相信你的教科书将涵盖下一篇。

答案 1 :(得分:0)

它不是变量赋值,它的查找。 position是一个索引;当它的值为0时,numbers[position]会返回1numbers中的第一个元素),position 1会获得3 list 1}}等等。

0这样的Python序列被索引为0-up,因此序列中的第一个元素位于索引len(seq) - 1,而最后一个元素位于索引 getSupportFragmentManager()

答案 2 :(得分:0)

number = numbers[position]字面意思是它所说的。 position是列表中的一个位置。首先它被赋值为零,所以在执行numbers[position]时,它实际上是在零位置的列表中调用数字,即1.然后它会position = position + 1询问它在位置1中的数字列表等等。

答案 3 :(得分:0)

我不熟悉这种变量赋值方式。我已经看到使用索引号直接引用的列表。但自从这篇文章以来,我尝试了以下内容并将其清理干净。非常感谢你!

list1 = ["apples", "oranges"]
position = 1

output1 = list1[0]
output2 = list1[position]

print output1
print output2