python学习笔记-列表list

因为代码是顺序执行,而且有些变量重复使用,所以结果一定要参照上下文。

列表: 列表元素可以重复,可以有不同类型元素

创建一个列表
list1 = [1,1,2,2,'a']
print(list1) #[1, 1, 2, 2,'a']
#创建一个list
list2 = list()
list3 = []
print(list2) #[]
print(list3) #[]
#list中可以嵌套list
list4 = ['a',1,1.5,list1,True]
print(list4)
list5=[1,2,3]
list6=['a','b','c']
#使用+连接,相当于求并集
list7=list5+list6
print(list7) #[1, 2, 3, 'a', 'b', 'c']
#   * 连接,赋值操作
print(list5*3) #[1, 2, 3, 1, 2, 3, 1, 2, 3]
列表长度,就是元素个数
print(len(list7))
判断元素是否在list中,返回True or False
print('a' in list6) #True
删除一个列表
del list6
#print(list6) #在操作list6会报错
获取列表中元素
list8=[1,2,3,'a','b']
#返回指定下标的元素
print(list8[1]) #2  下标从0开始的,所以下标为1的元素是2
#遍历列表
for i in list8:
    print(i)
删除列表元素
#删除某个下标元素
del list8[0]
print(list8) #[2, 3, 'a', 'b']
#删除某个元素
list8.remove('a')
print(list8) #[2, 3, 'b']
列表元素最大最小值
list9 = [1,2,3,4,7,5]
#求最大值,注意如果数据类型很杂可能会报错。
print(max(list9)) #7
#获取list最小值
print(min(list9)) #1
列表切片,返回一个新list
#类似于字符串切片。形式:list[起始索引:终止索引(不包含):步长间隔]
list10=[0,1,2,3,4,5,6,7,8,9]
print(type(list10[0:3])) #<class 'list'>----列表切片,返回类型还是list
#起始索引为0,终止索引是5(不包含5)
print(list10[0:5]) #[0,1,2,3,4]
#起始索引是0,终止索引是5,步长2
print(list10[0:8:2]) #[0,2,4,6]
#不写终止索引就是到最后
print(list10[5:]) #[5, 6, 7, 8, 9]
#不写起始索引就是从索引0开始
print(list10[:3])  #[0,1,2]
#不写起始,不写终止,只写步长
print(list10[::3]) #[0,3,6,9]
#逆序列表
print(list10[::-1]) #[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
#逆序取,从索引8开始往前,到索引2(不包括),步长为2
print(list10[8:2:-2]) #[8,6,4]

print(id(list10)) #内存中的位置

list元素增删改
list11=[1,2,3]
#增加元素,会添加到list末尾
list11.append(4)
print(list11) #[1,2,3,4]
#list11.extend(1,'f','m')  #list.extend()可以一次加多个值,并且是在list末尾添加
#list11.insert(2,'a') #在指定索引2位置插入元素'a',在索引位置前面插入。  [1,2,'a',3,4]
#修改某个下标元素
list11[0]='a'
print(list11) #['a',2,3,4]
#删除
#删除某个元素
list11.remove(2)
print(list11) #['a',3,4]
#删除某个下标元素
del list11[0]
print(list11) #[3,4]

list12=[1,2,2,3,4,5]
#统计某个元素在list中个数
print(list12.count(2)) #2
#查询某个元素是否在list中,存在返回第一个该元素下标,不存在什么都不返回
print(list12.index(2)) #1

python优雅代码
1-10元素的平方list
list13=[i**2 for i in range(1,11)] # [表达式 for i in 序列]
print(list13) #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

list14 = [i+j for i in 'abc' for j in 'ABC'] #双层循环
print(list14) #['aA', 'aB', 'aC', 'bA', 'bB', 'bC', 'cA', 'cB', 'cC']

list15 =[i+1 for i in range(1,11) if i%3==0] #还可以接条件
print(list15) #[4,7,10]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值