详解python 一维、二维列表的初始化问题

目录
  • 一维列表的初始化:
  • 二维列表的初始化:

一维列表的初始化:

初始一个长度为5的列表

方式1:

a = [0]*5
# [0, 0, 0, 0, 0]

方式2:

a = [0 for _ in range(5)]
# [0, 0, 0, 0, 0]

二维列表的初始化:

初始一个2*5的列表:

方式1:

b = [[0]*5 for _ in range(2)]
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

方式2:

b = [[0 for _ in range(5)] for _ in range(2)]
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

注意:

下述方式是错误的,这相当于将[0]*5这个一维列表复制了2次,每当改变其中一个一维列表中的元素,剩余列表中的元素也会跟着改变。

b = [[0]*5]*2
# [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

b[0][1] = 3
# [[0, 3, 0, 0, 0], [0, 3, 0, 0, 0]]

到此这篇关于python (一维、二维)列表的初始化的文章就介绍到这了,更多相关python列表的初始化内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 变量初始化空列表的例子

    python 不能写new_loss=old_loss=[] 这样 两个变量实际上是同一个list 要分开写new_loss=[] Old_loss=[] 以下列数据文件为例: def analyze_mmr(fn): #初始化方法一 new_loss = [] old_loss = [] #初始化方法二 new_loss = old_loss =[] with open(fn, encoding='utf8') as f: for line in f: parts = line.split('

  • Python中类的初始化特殊方法

    什么是特殊方法?当我们在设计一个类的时候,python中有一个用于初始化的方法$__init__$,类似于java中的构造器,这个就是特殊方法,也叫作魔术方法.简单来说,特殊方法可以给你设计的类加上一些神奇的特性,比如可以进行python原生的切片操作,迭代.连乘操作等.在python中,特殊方法以双下划线开始,以双下划线结束. 一个大例子 数学中有一个表示数的概念叫做向量,但是python中的数据类型却没有.我们来设法用python实现它. 首先考虑,向量跟普通的数据类型不同,传统的数可以直接

  • 在Python中预先初始化列表内容和长度的实现

    如果想设置相同的初值和想要的长度 >>> a=[None]*4 >>> print(a) [None, None, None, None] 如果我们预先知道列表的长度,那预先初始化该长度的列表,然后对每一个赋值,会比每次list.append()更有效率. 如果想要序列初值,可以用range函数,但注意,range函数返回的是可迭代对象,需要转化成list >>> b=list(range(10)) >>> print(b) [0,

  • 详解python 一维、二维列表的初始化问题

    目录 一维列表的初始化: 二维列表的初始化: 一维列表的初始化: 初始一个长度为5的列表 方式1: a = [0]*5 # [0, 0, 0, 0, 0] 方式2: a = [0 for _ in range(5)] # [0, 0, 0, 0, 0] 二维列表的初始化: 初始一个2*5的列表: 方式1: b = [[0]*5 for _ in range(2)] # [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 方式2: b = [[0 for _ in range(5

  • python 实现二维列表转置

    python 二维列表转置 def transpose(self, matrix): new_matrix = [] for i in range(len(matrix[0])): matrix1 = [] for j in range(len(matrix)): matrix1.append(matrix[j][i]) new_matrix.append(matrix1) return new_matrix python 二维列表逆时针转置 def transpose(self, matrix

  • Python将二维列表list的数据输出(TXT,Excel)

    利用Python处理数据时,处理完成后输出结果为二维的列表,如果我们想把这个列表输出到Excel中形成格式化的数据,其实和输出到TXT文件大同小异. 比如,有一个二维列表 我们要输出到Excel: 代码如下: list1 = [['张三','男','未婚',20],['李四','男','已婚',28],['小红','女','未婚',18],['小芳','女','已婚',25]] output = open('data.xls','w',encoding='gbk') output.write('

  • python 一维二维插值实例

    一维插值 插值不同于拟合.插值函数经过样本点,拟合函数一般基于最小二乘法尽量靠近所有样本点穿过.常见插值方法有拉格朗日插值法.分段插值法.样条插值法. 拉格朗日插值多项式:当节点数n较大时,拉格朗日插值多项式的次数较高,可能出现不一致的收敛情况,而且计算复杂.随着样点增加,高次插值会带来误差的震动现象称为龙格现象. 分段插值:虽然收敛,但光滑性较差. 样条插值:样条插值是使用一种名为样条的特殊分段多项式进行插值的形式.由于样条插值可以使用低阶多项式样条实现较小的插值误差,这样就避免了使用高阶多项

  • Python创建二维数组与初始化的实践举例

    目录 一.Python用什么表达二维数组 二.如何初始化一个二维数组 2.1 利用list自身进行构造 2.2 利用传统的list的append方法,通过迭代构造 2.3利用numpy包构建二维数组(矩阵) 三.操作二维数组 一.Python用什么表达二维数组 严格意义上说,Python中并没有数组的概念,Python中表达一组数据有多种形式,例如list,tuple,set等数据结构都可以表达一组数,并且这组数也没有C和C++中数组的的同质限制,这些数可以是任何一种数据类型. 以list为例(

  • 详解ZXing-core生成二维码的方法并解析

    二维码无处不在,扫一扫有礼品哦,现在二维码这么流行,想必大家不是很清楚二维码是怎么生成的吧,现在小编通过给大家分享本文帮助大家学习二维码生成的方法. 其实主要是利用goggle发布的jar来使用的此功能. 1.二维码的生成 将Zxing-core.jar 包加入到classpath下. 二维码的生成需要借助MatrixToImageWriter类,该类是由Google提供的,可以将该类拷贝到源码中,这里我将该类的源码贴上,可以直接使用. 直接可以生成二维码的代码 public void test

  • Python输入二维数组方法

    前不久对于Python输入二维数组有些不解,今日成功尝试,记以备忘.这里以输入1-9,3*3矩阵为例 n=int(input()) line=[[0]*n]*n for i in range(n): line[i]=input().split(' ') print(line) 使用数据转换为int即可! 以上这篇Python输入二维数组方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 一些Python中的二维数组的操作方法 python中字

  • python中对二维列表中一维列表的调用方法

    python调用二维列表中的一维列表的方法: 访问二维列表中的一维列表可以用下标法"列表名(数字)"的方式获取到一维列表所有元素 x = [[23, 25, 15, 69, 48], [53, 98, 87, 478, 365], [231, 55, 653, 589, 545, 123]] print(x[0]) 执行结果: 内容扩展: 二维列表转一维列表 from compiler.ast import flatten a=[[1,2],[5,6]] print(flatten(a

  • python用quad、dblquad实现一维二维积分的实例详解

    背景: python函数库scipy的quad.dblquad实现一维二维积分的范例.需要注意dblquad的积分顺序问题. 代码: import numpy as np from scipy import integrate def half_circle(x): """ 原心:(1,0),半径为1 半圆函数:(x-1)^2+y^2 = 1 """ return (1-(x-1)**2)**0.5 """ 梯形法求

  • python中的二维列表实例详解

    1. 使用输入值初始化列表 nums = [] rows = eval(input("请输入行数:")) columns = eval(input("请输入列数:")) for row in range(rows): nums.append([]) for column in range(columns): num = eval(input("请输入数字:")) nums[row].append(num) print(nums) 输出结果为: 请

随机推荐