-
2021-12-14 17:04:01更多相关内容
-
Python 创建一个二维列表
2020-11-22 22:40:20 -
python创建与遍历List二维列表的方法
2020-12-25 20:42:49python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in range(3): lists[0].append(i) for i in range(5): lists[1].append(i) for i in range(7): lists[2].append(i... -
Python中创建二维数组
2020-12-25 10:38:18二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 ...一般Python中创建二维数组的方法是使用列表解析的方法 列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素 创建 -
python如何创建二维列表?
2020-11-20 18:34:35方法二:使用for 循环,规避浅拷贝python创建二维列表可以通过循环的方式来创建,代码如下:如此,就创建好了一个缺省值为0的10*10的二维列表,实现相同列表的方法还有b=[[0]*10]*10,而且判断 a==b 时,返...python如何创建二维列表?
python创建二维列表的方法:
python创建二维列表的两种方法
方法一:
使用numpy-zeros((10,10)),生成给定长度的二维列表。
方法二:
使用for 循环,规避浅拷贝
python创建二维列表可以通过循环的方式来创建,代码如下:
如此,就创建好了一个缺省值为0的10*10的二维列表,实现相同列表的方法还有b=[[0]*10]*10,而且判断 a==b 时,返回值为 True。但是通过此种方法建立的列表存在一定的问题,当我们令b[0][1]=1时,我们的初衷是仅仅改变列表中一项的值,但是实际却不是:
我们发现整个列表的第二列均发生了改变,这是因为[[]]*10表示的是表示10个指向这个空列表元素的引用,是一种浅拷贝,因此修改任何一个元素都会改变整个列表,所以我们需要采取第三种方式来创建二维列表:
当我们令c[0][1]=1时,仅仅改变列表中一项的值,符合我们创建二维列表的要求
以上就是python如何创建二维列表?的详细内容,更多请关注php中文网其它相关文章!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
-
python中的二维列表实例详解
2020-12-23 22:45:031. 使用输入值初始化列表 nums = [] rows = eval(input("请输入行数:")) columns = eval(input("请输入列数:")) for row in range(rows): nums.append([]) for column in range(columns): num... -
Python教程:python中二维列表的创建、访问、应用详解
2021-11-07 15:08:34二维列表是将其他列表当做列表的元素放在一个列表当中,也就是列表的嵌套。 站长在线温馨提示:二维列表是多维列表的基础,未来还会出现三维列表,四维列表等多维列表。 在Python中,创建二维列表有以下3种常用的...欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中二维列表的创建、访问、应用详解》。本知识点主要内容有:二维列表的概念、直接定义二维列表、使用嵌套的for循环创建二维列表、使用列表推导式创建二维列表、二维列表的访问、二维列表的应用。
二维列表的概念:
二维列表是将其他列表当做列表的元素放在一个列表当中,也就是列表的嵌套。
站长在线温馨提示:二维列表是多维列表的基础,未来还会出现三维列表,四维列表等多维列表。
在Python中,创建二维列表有以下3种常用的方法:
1、直接定义二维列表。
在Python中,二维列表就是包含列表的列表。即一个列表的每个元素又都是一个列表。
在创建二维列表时,我们可以直接使用列表的语法格式,进行定义:
listname = [[元素11,元素12,元素13,......,元素1n], [元素21,元素22,元素23,......,元素2n], ......, [元素n1,元素n2,元素n3,......,元素nn]]
其中的相关参数说明如下:
listname:表示要生成的列表名称。
[元素11,元素12,元素13,......,元素1n]:表示二维列表的第1行(也是一个列表)。其中元素11代表第1行第1列,元素12代表第1行第2列,以此类推,直到元素1n代表第1行第n列。
[元素21,元素22,元素23,......,元素2n]:表示二维列表的第2行(也是一个列表)。其中元素21代表第2行第1列,元素22代表第2行第2列,以此类推,直到元素2n代表第2行第n列。
[元素n1,元素n2,元素n3,......,元素nn]:表示二维列表的第n行(也是一个列表)。其中元素n1代表第n行第一列,元素n2代表第n行第2列,以此类推,直到元素nn代表第n行第n列。
例如,定义一个某中学9年级1班3位同学的语数英的成绩列表,代码如下:
cj = [['名字','语文','数学','英语'], ['张三',88,98,95], ['李四',85,99,91], ['王五',86,88,89]] print(cj)
运行上面代码,创建的二维列表如下:
[['名字', '语文', '数学', '英语'], ['张三', 88, 98, 95], ['李四', 85, 99, 91], ['王五', 86, 88, 89]] >>>
2、使用嵌套的for循环创建二维列表。
在Python中,创建二维列表,可以使用嵌套的for循环来实现,如创建一个5行5列的二维列表,可以使用下面代码:
s = [] # 创建一个空列表 for i in range(5): # 创建一个5行的列表(行) s.append([]) # 在空的列表中添加空的列表 for j in range(5): # 循环每一行的每一个元素(列) s[i].append(j) # 为内层列表添加元素 print(s) # 输出列表
运行上面的代码,创建的二维列表如下:
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]] >>>
3、使用列表推导式创建二维列表。
我们刚刚在上一个知识点《在python中的列表推导式详解》学习过列表推导式。列表推导式就是可以快速生成一个列表,或者根据某个列表生成满足指定需求的列表。
在这里我们也可以使用列表推导式来创建二维列表,并且是被推荐的方法,而且语法简单。
比如使用列表推导式的方法创建一个5行5列的二维列表,代码如下:
s = [[j for j in range(5)] for i in range(5)] print(s)
执行上面代码,创建的二维列表结果如下:
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]] >>>
4、二维列表的访问
我们在创建好二维列表以后,可以通过下列语法,对列表元素的访问:
listname[索引1][索引2]
其中,相关的参数说明为:
listname:表示列表的名称
索引1:列表中的行。索引值从0开始,即第一行是索引为0。(索引也称为下标,索引1也称为下标1)
索引2:列表中的列。索引值从0开始,即第一列是索引为0。(索引也称为下标,索引2也称为下标2)
如,定义一个二维列表,访问他的第1行,第5列,可以使用下面代码:
listname[0,4]
s = [[j for j in range(5)] for i in range(5)] # 定义一个5行5列的二维列表 print("5行5列的列表为:",s) # 输出二维列表 print("其中第1行,第5列为:",s[0][4]) # 输出第1行,第5列的元素
运行结果为:
5行5列的列表为: [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]] 其中第1行,第5列为: 4 >>>
5、二维列表的应用
使用二维列表输出不同版式的古诗《静夜思》
-- 横版 --
床前明月光
疑是地上霜
举头望明月
低头思故乡
-- 竖版 --
低举疑床
头头是前
思望地明
故明上月
乡月霜光
站长在线温馨提醒:横版是从左往右读,竖版是从右往左读的。
我们在IDLE中新建一个文件,在该文件中,定义4个字符串为《静夜思》的诗句,再定义一个二维列表,使用嵌套的for循环,将古诗以横版输出,再将二维列表进行逆序排列,最后使用嵌套的for循环,将古诗以竖版输出,代码如下:
str1 = '床前明月光' str2 = '疑是地上霜' str3 = '举头望明月' str4 = '低头思故乡' verse = [list(str1), list(str2), list(str3), list(str4)] # 定义一个二维列表 print('\n-- 横版 --\n') for i in range(4): # 循环古诗的每一行 for j in range(5): # 循环每一行的每个字(列) if j == 4: # 如果是一行中的最后一个字 print(verse[i][j]) # 换行输出 else: print(verse[i][j], end='') # 不换行输出 verse.reverse() # 对列表进行逆序排列 print('\n-- 竖版 --\n') for i in range(5): # 循环每一行的每个字(列) for j in range(4): # 循环新逆序排列后的第一行 if j == 3: # 如果是最后一行 print(verse[j][i]) # 换行输出 else: print(verse[j][i], end='') # 不换行输出
运行结果如下:
-- 横版 -- 床前明月光 疑是地上霜 举头望明月 低头思故乡 -- 竖版 -- 低举疑床 头头是前 思望地明 故明上月 乡月霜光 >>>
原理解析:
5.1、先将古诗的每一行的字符串,使用
list()
函数转换成列表。列表代码如下:[['床','前','明','月','光'], ['疑','是','地','上','霜'], ['举','头','望','明','月'], ['低','头','思','故','乡']]
5.2、列表对象的
reverse()
方法用于对列表进行逆向排序,将列表的最后一个移到第一个,倒数第二个移到第二个,以此类推。代码如下:[['低', '头', '思', '故', '乡'], ['举', '头', '望', '明', '月'], ['疑', '是', '地', '上', '霜'], ['床', '前', '明', '月', '光']]
5.3、横版是按行打印,竖版却是按列打印,按列打印如下:
低举疑床 头头是前 思望地明 故名上月 乡月霜光
看见了吧,我们把读不通顺的,按列打印的“低举疑床,头头是前,思望地明,故名上月,乡月霜光”就正是我们要的按竖排打印的诗。竖排的写法是从右往左写的。读也从右边读起,就正是我们的想要的诗了。
到此为止,本文主题《python中二维列表的创建、访问、应用详解》中的二维列表的概念、直接定义二维列表、使用嵌套的for循环创建二维列表、使用列表推导式创建二维列表、二维列表的访问、二维列表的应用。就到此讲解完毕了,还有不懂的可以留言哦!
-
python创建二维列表的方法
2018-11-07 16:59:22使用for 循环,规避浅拷贝 python创建二维列表可以通过循环的方式来创建,代码如下: (稍后补充) -
Python创建二维数组实例(关于list的一个小坑)
2020-09-21 02:14:27下面小编就为大家带来一篇Python创建二维数组实例(关于list的一个小坑)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
Python3 创建二维列表(list)
2020-11-22 16:20:27创建一个m行,n列的二维列表:dp = [[0]*n for _ in range(m)]运行结果(n = 3, m = 4):[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]注1:单下划线 _ 的含义用作临时的变量名称 (此处的用法)Python REPL中的一个... -
在python 3中基于一个数字创建一个二维数组/列表以创建一个空白矩阵
2020-11-24 07:49:32我正在尝试创建一个可以根据一个数字动态更改的2D数组/列表,所以说我输入数字3,它会像这样创建一个二维数组,有三行三列。输入10将创建一个包含10列和10行的数组等。array = [[0, 0, 0][0, 0, 0][0, 0, 0]]我已经... -
Python 创建二维列表list
2018-12-26 10:08:49Python 创建二维列表list 1.正确使用方式: 2.误用方式: 原因:matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。 ... -
Python通过键盘输入二维列表
2022-03-07 21:16:48如输入一个nn的矩阵存储到二维列表,第一行表示输入参数n,下面为矩阵参数,以33为例: 3 1,2,3 4,5,6 7,8,9 1. 以字符形式存入二维列表 存入形式为: n = int(input()) testList = [[]for i in range(n)] for i in ... -
解决Python二维数组赋值问题
2020-09-18 09:24:06今天小编就为大家分享一篇解决Python二维数组赋值问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Python创建二维数组
2022-04-05 19:20:55文章目录前言实际操作一维数组二维数组总结 前言 Python并没有内置的数组类型,只有tuple,list,dict,set等内置类型。所以只能通过list模拟数组。 实际操作 一维数组 a = [i + 1 for i in range(10)] # a = [1, 2,... -
Python 创建二维列表+追加元素+items()
2017-05-14 16:49:29第一次用python,遇到的一些有意思...新建二维列表,并使用+添加元素(使用+添加元素后要进行赋值,而append不需要)当为嵌套列表追加元素时,若使用append或extend,会为所有嵌套的列表追加该元素,如下 2.for new -
python 使用pandas的dataframe一维数组和二维数组分别按行写入csv或excel
2020-12-21 18:08:46pandas写入excel 两种 一个是一行一行的写(本身写入时列)另一种是写入二维数组。 1.一行一行的写 i=1 loujian=2 dat=[i,loujian,ll,load_idx,bilv,eventype]#一个变量 print (dat) test = pd.DataFrame(data=dat).... -
如何在Python中创建二维数组?
2021-02-10 12:08:51假设每个blog中的文本都是字符串形式的,并且您在blogs中有一个这样的字符串列表,那么您就可以创建矩阵了。在import re# Sample input for the following code.blogs = ["This is a blog.","This is another blog.... -
python二维列表
2020-11-30 11:14:07方法一:使用 lambda 关键词辅助对二维列表进行排序,lambda的使用方法参考https:blog.csdn.netzjuxslarticledetails79437563假设有一个学生列表存储了学号,姓名,年龄信息:students = ,]按学号顺序排序:sorted... -
python定义二维空数组
2020-11-24 07:49:29稀疏矩阵的格式存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够容易实现矩阵的各种运算。 对于稀疏矩阵,采用二维数组的...与csr格式相比唯一的不同点是indptr和indices数组的定义,... -
Python 创建二维列表(数组矩阵),以及易错的方式
2021-01-21 22:52:14正确的方式 通过嵌套for循环,一个个添加0 n = [] for i in range(2): n.append([]) ...创建一个三个0的一位数组,将该数组复制两倍 m = [0]*3 mm = [m]*2 mm[0][0] = 2 print(mm) 输出[[2, 0, 0...