鱼C论坛

 找回密码
 立即注册
查看: 1150|回复: 0

[学习笔记] 零py-(ep-14)

[复制链接]
发表于 2023-8-10 11:12:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
本帖最后由 Nicole37 于 2023-8-10 11:12 编辑

列表5:
1、变量之间直接赋值:你变我也变
注意python中变量赋值的关系,给一个变量赋值,是使该变量引用一个固定值,变量之间直接赋值时,赋值的是原变量的引用
x = [1,2,3]
y = x
x[1] = 1
x
[1, 1, 3]
y
[1, 1, 3]
其中x更改值2以后,表示所引用的数值发生了更改,所以y指向的值也跟着变
屏幕截图 2023-08-08 170102.png
2、变量之间通过copy来赋值:你变我不变
利用copy进行变量之间的赋值,赋值的是整个列表对象(仅对一维列表有效)
x = [4,5,6]
y = x.copy()
x[1] = 8
x
[4, 8, 6]
y
[4, 5, 6]
屏幕截图 2023-08-08 170846.png
3、切片赋值与copy作用类似
x = [4,5,6]
y = x[:]
x[1]=1
x
[4, 1, 6]
y
[4, 5, 6]
3、上述为浅拷贝,仅适用于一维列表,拷贝的只是外层对象,当出现列表嵌套时,拷贝的只是其引用
4、深拷贝:使用copy模块 ,拷贝的是内外所有嵌套的列表
import copy #导入copy模块
#浅拷贝
x = [[1,2,3],[4,5,6],[7,8,9]]
y = copy.copy(x) #表示引用copy模块中的copy函数
x[1][1] = 0
x
[[1, 2, 3], [4, 0, 6], [7, 8, 9]]
y
[[1, 2, 3], [4, 0, 6], [7, 8, 9]]
#深拷贝deepcopy
x = [[1,2,3],[4,5,6],[7,8,9]]
y = copy.deepcopy(x)
x[1][1]=0
x
[[1, 2, 3], [4, 0, 6], [7, 8, 9]]
y
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
作业:
1、
x = 1
y = x
x = 2
y
1
注意:单纯变量的引用和列表中变量的引用是有区别的
屏幕截图 2023-08-08 181823.png
2、创建一个 88 x 88 的随机整数矩阵(二维列表),然后匹配用户输入的整数是否与其中某元素相等,如果相等则打印其行号和列号
import random
a = [0]*88

for i in range(88):
    a[i] = [0]*88
    
for i in range(88):
    for j in range(88):
        b = random.randint(0,1024)
        a[i][j] = b

    
c = int(input("请输入整数"))#关键是input的输入值是默认是字符串类型的,要转换为int

for i in range(88):
    for j in a[i]:
        
        if c==j:
            print(a.index(a[i]),a[i].index(j),sep=" ")
更简洁的方法:
for i in range(88):
    for j in range(88):
        
        if a[i][j]==c:
            print(i,j,sep=" ")
3、假设给定一个 m * n 的矩阵(矩阵中数值的取值范围是 0~1024,且各不相同),如果某一个元素的值在同一行的所有元素中最小,并且在同一列的所有元素中最大,那么该元素便是幸运数字,给定矩阵如a所示
a = [[10, 36, 52],
     [33, 24, 88],
     [66, 76, 99]]
b=[0]*3
x=[0]*3
for i in range(3):
    x=a[i]

    x.sort() #这里直接将x进行从小到大排序,若想进一步赋值给其他列表,则需在下一步进行

    c=a[i].index(x[0])
    d= [a[0][c], a[1][c] ,a[2][c]]
    d.sort()
    d.reverse()
    if d[0]== x[0]:
        print(x[0])

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-16 22:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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