Skip to main content
 首页 » 编程设计

python之“int”对象对于列表列表不可迭代

2025年05月04日16sky-heaven

我遇到了一个我无法解释的错误。这是代码:

board = [[1, 2, 3],[1, 2, 3],[1, 2, 3]] 
col = 0 
col_nums = [] 
for rows in board: 
    col_nums += rows[col] 

这给出了“int”对象不是可迭代的错误。 这虽然有效:

for rows in board: 
    print(rows[col]) 

我想以 col_nums = [1, 1, 1] 结束。似乎我没有遍历任何整数,只是 rows,它是一个列表。我认为这可能与+=有关。

请您参考如下方法:

当您编写 col_nums += rows[col] 时,您正在尝试将 int 添加到 list 中。那是类型不匹配。尝试其中一种替代方法。

  1. 使用 append 将单个项目添加到列表中。

    for rows in board: 
        col_nums.append(rows[col]) 
    
  2. 您可以将一个列表添加到另一个列表上。

    for rows in board: 
        col_nums += [rows[col]] 
    
  3. 将整个循环替换为对 extend 的调用以一次添加所有项目。

    col_nums.extend(rows[col] for rows in board) 
    
  4. 通过列表理解一举创建列表。

    col_nums = [rows[col] for rows in board]