QQ登录

只需一步,快速开始

扫一扫,访问微社区

开启左侧

Python学习第十六天—列表4之嵌套列表

[复制链接]
15271953841 发表于 2024-2-9 06:46:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 15271953841 于 2024-2-21 06:24 编辑

Python 3.12.1 (tags/v3.12.1:2305ca5, Dec  7 2023, 22:03:25) [MSC v.1937 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
列表的加法和乘法
s=[1,2,3,]
t=[4,5,6]
s+t
[1, 2, 3, 4, 5, 6]
s*3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
嵌套列表
matrix=[[1,2,3],[4,5,6],[7,8,9]]
matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
或者这样写:
matrix=[[1,2,3],
        [4,5,6],
        [7,8,9]]          (这样写,打印出来更直观。)
matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

for i in matrix:
    for each in i:
        print(each)

        
1
2
3
4
5
6
7
8
9
for i in matrix:
    for each in i:
        print(each,end="  ")
    print()

   
1  2  3  
4  5  6  
7  8  9  
matrix[0]
[1, 2, 3]
matrix[0][0]
1
matrix[1][1]
5
matrix[2][2]
9
A=[0]*3
A
[0, 0, 0]
for i in range(3):
    A
=[0]*3

   
A
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
B=[[0]*3]*3             (这种写法虽然能得到同样的结果,但这是犯了一种高级错误)
B
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
A[1][1]
0
B[1][1]
0
A[1][1]=1
A
[[0, 0, 0], [0, 1, 0], [0, 0, 0]]
B[1][1]=1
B
[[0, 1, 0], [0, 1, 0], [0, 1, 0]]
这到底为什么呢?为什么两者的效果不一样,为了搞懂这个问题,我们需要引入新运算符is.
x="FishC"
y="FishC"
x is y
True
字符串是不可变的,只需要开辟一个位置存放。
x=[1,2,3]
y=[1,2,3]
x is y
False
列表是可变的,所以列表内容虽然一样,但Python为它们开辟两个不同的位置存放。

B是牵一发而动全身。
A[0] is A[1]
False
A[1] is A[2]
False
B[0] is B[1]
True
B[1] is B[2]
True

客服热线
400-1234-888 周一至周日:09:00 - 21:00
公司地址:襄阳市樊城区长虹路现代城5号楼188

创客帮MAKER.BAND青少年创客创意社区是一个融教育、科技、体育资讯为一体的综合服务平台,专注于教育创新、专注于科技体育、专注于教育资讯。

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表