03python基础 列表

1.列表

  • 变量可以存储一个元素,而列表是一个’大容器’,可以存储N多个元素,程序可以方便对这些数据进行整体操作。

  • 列表相当于其他语言的数组
    在这里插入图片描述

1.1 创建列表

  • 使用中括号
  • 调用内置函数list()
#使用中括号
lst = ['hello','world',98]
print(lst)

#使用内置函数
lst2 = list[''hello','world',98']

1.2 列表特点

  • 列表元素按顺序有序排列
  • 索引映射唯一一个数据
  • 列表可以存储重复数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存
lst = ['hello','world',98]
print(lst[0]) # hello
print(lst[-3]) # hello

1.3 列表查询

index()

  • 如果列表中存在N个相同元素,只返回第一个相同元素的索引
  • 查询不存在,抛出ValueError
  • 可以指定在start和stop之间查找
lst = ['hello','world',98,'hello']
print(lst.index('hello')) # 0
print(lst.index('java'))  #ValueError
print(lst.index('hello',1,4)) # 3
1.3.1 列表切片

列表名[start : stop : step]

lst = [10,20,30,40,50,60,70,80]
print(lst[1:6:1]) #[20,30,40,50,60]
print(lst[1:6])   #[20,30,40,50,60] 默认步长1
print(lst[1:6:])  #[20,30,40,50,60]
print(lst[1:6:2]) #[20,40,60]
print(lst[:6:2])  #[10,30,50] 
print(lst[1::2])  #[20,40,60,80]

#st3p=-1
print(lst[::-1]) #[80,70,60,50,40,30,20,10]
#start=7 step=-1
print(lst[7::-1]) #[80,70,60,50,40,30,20,10]
#start=6 stop=0 step=-2
print(lst[6:0:-2]) #[70,50,30]

1.3.2遍历和判断
# 判断 in/not in
lst = [10,'20','python','java']
print(10 in lst) #True
print(100 in lst) #False
print(100 not in lst) #True

#遍历
for item in lst:
    print(item)
'''
10
20
python
java
'''

1.4列表增删改

1.4.1 增加操作
  • append() 在列表末尾添加一个元素 (添加前后的列表id相同)
  • extend() 在列表末尾至少添加一个元素
  • insert() 在列表任意位置添加一个元素
  • 切片 在列表任意位置添加至少一个元素
lst = [10,20,30]
lst.append(100)
print(lst)  #[10,20,30,100]

lst2 = ['hello','world']
# lst.addpend(lst2) #[10,20,30,100,['hello','world']]
lst.extend(lst2)  #[10,20,30,100,'hello','world']

lst.insert(1,90)  #[10,90,20,30,100,'hello','world']

lst3 = [True,False,'hello']
#切片
lst[1:]=lst3  #第一个开始的元素全部切掉 
print(lst)   #[10,True,False,'hello']


1.4.2 删除操作
  • remove() 一次删除一个元素,重复元素只删除第一个,元素不存在抛出ValueError
  • pop() 删除指定索引位置上的元素,指定索引不存在抛出ValueError,不指定索引删除最后一个
  • 切片 一次至少删除一个元素
  • clear() 清空列表
  • del 删除列表
lst = [1,2,3,4,5,6,7,8]
lst.remove(3)
print(lst) #[1,2,4,5,6,7,8]

lst.pop(1) 
print(lst) #[2,4,5,6,7,8]
lst.pop()
print(lst) #[2,4,5,6,7]
#切片
lst[1:3] = []
print(lst) #[2,6,7]

lst.clear()
print(lst) #[]

del lst
1.4.3修改
  • 为指定索引的元素赋予一个新值
  • 为指定的切片赋予一个新值
lst = [10,20,30,40]
lst[2] = 100
print(lst) #[10,20,100,40]

lst[1:3] = [300,400,500,600]
print(lst) #[10,300,400,500,600,40]

1.5列表排序操作

  • 调用sort()方法,列表中所有元素默认按从小到大排序,可以指定reverse=True进行降序
  • 调用内置函数sorted(),可以指定reserve=True,进行降序,原列表不发生改变
lst = [20,40,10,98,54]
lst.sort()
print(lst) #[10,20,40,54,98]  排序前后ID不发生改变
lst.sort(reverse=True)  #不指定默认False
print(lst) #[98,54,30,20,10]

lst2 = [20,40,10,98,54]
new_list = sorted(lst)
print(new_list) #[10,20,40,54,98] 排序前后ID改变
new_list2 = sorted(lst,reverse=True)
print(new_list2) #[98,54,30,20,10]

1.6 列表生成式

lst = [for i in range(1,10)]
print(lst) #[1,2,3,4,5,6,7,8,9]

lst2 = [i*i for i in range(1,10)]
print(lst2) #[1,4,9,16,25,36,49,64,81]

#列表中元素为2,4,6,8,10
lst3 = [i*2 for i in range(1,6)]
print(lst3) #[2,4,6,8,10]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值