python二维数组

在创建二维数组时,若直接采用:

    >>> arr = [[]]*4

则此时得到的称为浅拷贝,创建了一个空列表,之后得到4个指向空列表的引用,所以会出现如下情况

    >>> arr[0].append(1)
    >>> arr
    [[1], [1], [1], [1]]

因此如果要创建二维数组时,应该采用如下形式:

    >>> lists = [[] for i in range(3)]
Python二维数组是实用的数据结构,用于存储和操作具有行和列的数据,可通过列表的列表轻松创建、添加和遍历[^1]。 ### 创建 - **利用`list`自身构造**:不过这种方法不能构造完全灵活的二维数组,不建议采用[^3]。例如: ```python two_d_array = [[0 for _ in range(3)] for _ in range(2)] print(two_d_array) ``` - **自定义类创建**:可以自定义类来模拟二维数组的功能,如下面的`List2nd`类,它可以创建、输入和输出二维数组元素等操作[^2]。 ```python class List2nd: def __init__(self, l, e, string=''): self.l = l self.a = e self.list = [string] * l * e def inp(self, z, b, string): self.list[(z * self.a + b)] = string def out(self, z, b): return self.list[z * self.a + b] def __get__(self): for i in range(self.l): for j in range(self.a): print(self.list[i * self.a + j], end=' ') print() def printf(self): list_ = [] _list = [] for i in range(self.l): for j in range(self.a): list_.append(self.list[i * self.a + j]) _list.append(list_) list_ = [] return _list # 使用示例 arr = List2nd(2, 3) arr.inp(0, 0, 'a') print(arr.out(0, 0)) ``` ### 操作 - **添加元素**:可以通过列表的方法向二维数组添加元素。例如,向二维数组的某一行添加元素: ```python two_d_array = [[1, 2], [3, 4]] two_d_array[0].append(5) print(two_d_array) ``` - **遍历数组**:可以使用嵌套循环来遍历二维数组中的每个元素。 ```python two_d_array = [[1, 2], [3, 4]] for row in two_d_array: for element in row: print(element) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值