python列表索引问题

标签 python list for-loop

我有一个相当基本的 python 问题,这是代码:

def LCM(nums): 
    i = max(nums)
    var = 0
    x = 0
    while i>0:
        for x in nums:
            var = var+int(nums[x])%i
        if (var == 0):
            return i
        i=i-1

nums 是一个列表,我认为 x 是该列表的索引,for 语句应该遍历列表中的每个值列为 nums[x]。看起来 x 应该从 nums 的第一个元素开始,并遍历每个值,直到 nums 用完所有值。

相反,我得到 list index out of range,我不明白这是怎么可能的。 我的 for 语法搞砸了吗?我无法理解这一点。

最佳答案

x 不是索引。 xlist 中的一个元素。

此外,您不需要将 if 条件括起来。

简单演示:

>>> nums = [11, 12, 13, 14, 15, 16]
>>> for x in nums:
...     if x % 3 == 0:
...         print x, 'is divisible by three'
...     else:
...         print x
... 
11
12 is divisible by three
13
14
15 is divisible by three
16

关于python列表索引问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144602/

相关文章:

c# - 如何在 C# 中使用 lambda 表达式从列表中获取某些属性

python - 替换 Python 列表中的重复元素?

windows - 使用WMIC获取用户配置文件列表时出现问题

python - FFmpeg "piping"不适用于 mp4 文件?

python - 如何在 Django 1.4 网站中显示基本 shell 命令的结果?

python - 模拟线程上的死锁

python - 在独立机器上手动安装 Robot Framework

c++ - 尝试在 for 循环中使用 2 个列表迭代器

vba - 多次初始化用户窗体

c - 运行 for 循环时出现奇怪的输出