Skip to main content
 首页 » 编程设计

python列表索引问题

2025年05月04日18youxin

我有一个相当基本的 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 不是索引。 x 是 list 中的一个元素。

此外,您不需要将 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