第十课、list列表:定义、增、删、改、查、in、元素反转、排序、拷贝、遍历等

1、list定义

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
print(names)
print(type(names))

结果:
['刘德华', '张学友', '陈慧琳', '林心如', '周杰伦', '李宇春']
<class 'list'>
name = ('兰陵王','东皇太一','王昭君','程咬金')
print(type(name)) #输出的元祖:<class 'tuple'>
print(type(list(name))) #转换后输出的为list: <class 'list'>

结果:
<class 'tuple'>
<class 'list'>

 

2、list增加元素 三种方法:append   insert   extend

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
names.append('孙悟空') #从尾部插入元素
print(names)

结果:
['刘德华', '张学友', '陈慧琳', '林心如', '周杰伦', '李宇春', '孙悟空']
names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
names.insert(3,'猪八戒') #指定位置插入元素
print(names)

结果:
['刘德华', '张学友', '陈慧琳', '猪八戒', '林心如', '周杰伦', '李宇春']
names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
name = ('兰陵王','东皇太一','王昭君','程咬金')
names.extend(name) #这个方法其实就两个list合并
print(names)

结果:
['刘德华', '张学友', '陈慧琳', '林心如', '周杰伦', '李宇春', '兰陵王', '东皇太一', '王昭君', '程咬金']

 

 3、list删除元素的三种方法:pop  remove  clear

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
print(names.pop(3)) #删除指定下标元素,默认删除最后一个,返回被删除的数据。
print(names)

结果:
林心如
['刘德华', '张学友', '陈慧琳', '周杰伦', '李宇春']
names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
names.remove('刘德华') #删除指定元素,元素不存在报错,无返回值。
print(names)

结果:
['张学友', '陈慧琳', '林心如', '周杰伦', '李宇春']
names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
names.clear() # 这个方法其实是清空所有元素。
print(names)

结果:
[]

 

 4、list 修改元素

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
names[1] = '哈哈'
print(names)

结果:
['刘德华', '哈哈', '陈慧琳', '林心如', '周杰伦', '李宇春']

 

 5、list查找元素 下标、切片、index、count。 切片详细:https://blog.csdn.net/cyz141001/article/details/111568823

下标获取数据

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
print(names[1]) #获取从0开始1元素

结果:
张学友

获取元素下标 index

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
print(names.index('周杰伦')) #查找字符串的位置,不存在报错。

结果:
4

获取元素个数 count

names = ['林心如','刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春','林心如']
print(names.count('林心如')) #返回list中相同元素个数,无则返回0

结果:
3

 

6 list使用成员运算符,与反转元素

成员运算符:存在返回True,不存在返回False

names = ['林心如','刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春','林心如']
print('李宇春' in names) #存在返回True,不存在返回False

结果:
True

反转元素:将元素反向,就是倒序

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
print(names[::-1]) #将元素反向,就是倒序

结果:
['李宇春', '周杰伦', '林心如', '陈慧琳', '张学友', '刘德华']

names = ['刘德华','张学友','陈慧琳','林心如','周杰伦','李宇春']
names.reverse() #将元素反向,就是倒序
print(names)

结果:
['李宇春', '周杰伦', '林心如', '陈慧琳', '张学友', '刘德华']

7 、list列表排序 两中方法:sort    sorted 

 sort :直接对列表排序,正序,反序需要加(reverse=True)默认值:False

b = [6,5,3,1,8,7,2,4]
b.sort() #直接对列表排序,正序,反序需要加(reverse=True)默认值:False
print(b)

结果:
[1, 2, 3, 4, 5, 6, 7, 8]

sorted: 排序后返回新的list,原list不变。

b = [6,5,3,1,8,7,2,4]
d = sorted(b) #排序后返回新的list,原list不变。
print(d)

结果:
[1, 2, 3, 4, 5, 6, 7, 8]

 

 8、list拷贝:复制一份list,创建新地址,于原数据不受影响。

浅拷贝:一级列表,如果有二级列表还是关联着

b = [6,5,3,1,8,7,2,4]
a = b.copy() #复制一份list,创建新地址,于原数据不受影响。
print(a)
print(b)
a.sort()
print(a)
print(b)

结果:
[6, 5, 3, 1, 8, 7, 2, 4]
[6, 5, 3, 1, 8, 7, 2, 4]
[1, 2, 3, 4, 5, 6, 7, 8]
[6, 5, 3, 1, 8, 7, 2, 4]

深拷贝:不管是一级还是二级真正的创建新地址拷贝,需要导入包,import copy

方法:copy.deepcopy()

9、列表遍历

for遍历:

a = [1,2,3,4,5,6,7,8]
for i in a :
    print(i)

while遍历:

a = [1,2,3,4,5,6,7,8]
num = 0
while num < len(a):
    print(a[num])
    num += 1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cyz141001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值