记录在学习python中易混淆的知识点

列表

访问列表中的列表元素:

list = [123,['hello','world'],456]
print(list[1][0])

list = [123,456,['hello','world']]
print(list[-1][1])

运行结果:
在这里插入图片描述
关于列表分片“拷贝”的概念
在这里插入图片描述

list1 = [1,3,2,9,7,8]
list2 = list1[:]
list3 = list1
print("list1 ",list1)
print("list2 ",list2)
print("list3 ",list3)
list1.sort()
print()
print("list1 ",list1)
print("list2 ",list2)
print("list3 ",list3)

运行结果:
在这里插入图片描述

元组

创建只有一个元素的元组

temp = (1,)
print(type(temp))

在这里插入图片描述
元组元素的复制

print(8 * (8,))

运行结果:
在这里插入图片描述

函数的闭包

在这里插入图片描述

Python中的*args和**kwargs

在函数定义中使用*args和kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); kwargs用作传递键值可变长参数列表
*args表示任何多个无名参数,它是一个tuple
**kwargs表示关键字参数,它是一个dict

具有两个以上维度的数据帧切片

import torch
 
# 譬如:4张图片,每张三个通道,每个通道2828列的像素
a = torch.rand(4, 3, 28, 28)
 
# 在第一个维度上取后01,等同于取第一、第二张图片
print(a[:2].shape)  
 
# 在第一个维度上取01,在第二个维度上取0,
# 等同于取第一、第二张图片中的第一个通道
print(a[:2, :1, :, :].shape)  
 
# 在第一个维度上取01,在第二个维度上取1,2,
# 等同于取第一、第二张图片中的第二个通道与第三个通道
print(a[:2, 1:, :, :].shape) 
 
# 在第一个维度上取01,在第二个维度上取1,2,
# 等同于取第一、第二张图片中的第二个通道与第三个通道
print(a[:2, -2:, :, :].shape)  
 
# 使用step隔行采样
# 在第一、第二维度取所有元素,在第三、第四维度隔行采样
# 等同于所有图片所有通道的行列每个一行或者一列采样
# 注意:下面的代码不包括28
print(a[:, :, 0:28:2, 0:28:2].shape) 
print(a[:, :, ::2, ::2].shape)  # 等同于上面语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值