python:建立由列表组成的列表

简介: 我们初始化一个嵌套着几个列表的列表,这里我们使用列表推导式:

我们初始化一个嵌套着几个列表的列表,这里我们使用列表推导式:

board = [['_']*3 for i in range(3)]
print(board)
board[1][2] = 'X'
print(board)

结果如下

[['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']]
[['_', '_', '_'], ['_', '_', 'X'], ['_', '_', '_']]

可以看出三个列表指向的不是同一个对象

但是如果用另一种方法,看上去很方便,实则是错误的:

weird = [['_'] * 3] * 3
print(weird)
weird[1][2] = 'O'
print(weird)

从结果可以看出来第二种方法指的是同一个对象

还有这中本质也是错误的

rwo = ['_']*3
board = []
for i in range(3):
  board.append(row)

将同一个对象追加到board中,很明显这是错误的。

相关文章
|
13天前
|
Python
在 Python 中,对列表进行排序有两种常用的方法
在 Python 中,对列表进行排序有两种常用的方法
|
4天前
|
Python
|
19天前
|
Python
Python编程实战:如何将列表组装成一棵树结构
本文介绍了如何在Python中将列表转换为树结构。首先定义`TreeNode`类表示节点,包含值和子节点列表。然后,通过`list_to_tree`函数递归地将列表转为树。此外,还提供了添加和删除节点的方法。文章旨在帮助读者理解和操作树结构,以解决实际编程问题。
Python编程实战:如何将列表组装成一棵树结构
|
5天前
|
存储 Python
Python中使用列表和字典来存储和处理复杂的数据结构
Python中使用列表和字典来存储和处理复杂的数据结构
|
3天前
|
存储 索引 Python
字符串、列表、元组、字典(python)
字符串、列表、元组、字典(python)
|
6天前
|
存储 Python
Python中列表解包
【6月更文挑战第18天】
14 2
|
7天前
|
存储 数据处理 计算机视觉
Python中的列表处理:获取与设置缩略图的艺术
Python中的列表处理:获取与设置缩略图的艺术
9 1
|
7天前
|
Python
python 中列表和元组的解包
【6月更文挑战第17天】
15 1
|
7天前
|
Java C语言 Python
Python语言的列表推导式怎么写
Python语言的列表推导式怎么写
|
12天前
|
Python
Python列表推导式是一种简洁的创建新列表的方式,它允许你在一行代码中完成对数据的操作和转换
【6月更文挑战第19天】Python列表推导式是创建新列表的简洁语法,它在一行内处理数据。表达式如`[expr for item in iterable if cond]`,其中`expr`是对元素的操作,`item`来自`iterable`,`if cond`是可选过滤条件。例如,将数字列表平方:`[x**2 for x in numbers]`。嵌套列表推导处理复杂结构,如合并二维数组:`[[a+b for a,b in zip(row1, row2)] for row1, row2 in zip(matrix1, matrix2)]`。简洁但勿过度复杂化。
21 5