Python-05-列表

列表

列表是一个数据的容器,可以保存不同类型的数据对象。

列表属于可变数据类型、有序的、可迭代的。

一、列表的格式

  • 语法
# [数据1, 数据2, 数据3, ..., 数据n]
  • 代码
# 1. 创建一个有元素的一维列表
lst1 = [1, 2.3, 'A']

# 2. 创建一个空列表
lst2 = []		# 第一种
lst3 = list()	# 第二种

二、常用方法

2.1 查

2.1.1 下标

列表是有序的数据类型,因此可以使用下标(索引)来提取列表的元素。

  • 下标的代码演示
lst = ['Linux', 'MySQL', 'Tomcat']

print(lst[0])			# 'Linux'
print(lst[1])			# 'MySQL'
print(lst[-1])			# 'Tomcat'
  • 切片
lst = ['Linux', 'MySQL', 'Tomcat']

print(lst[1:])          # ['MySQL', 'Tomcat']
print(lst[1:2:-1])      # []
print(lst[:3:])         # ['Linux', 'MySQL', 'Tomcat']
2.1.2 方法(查询下标)
方法描述
L.index(value[, start[, stop]) -> int查找列表中指定元素的下标,如果没有找到则报错
L.count(value) -> int统计出列表中指定元素的个数,如果没有找到则返回0
  • index():查找下标
lst = ['Linux', 'MySQL', 'Tomcat']

print(lst.index('Tomcat'))			# 2
print(lst.index('PostgreSQL'))		# 报错
  • count():统计元素的个数
lst = ['Linux', 'MySQL', 'Tomcat', 'Tomcat']

print(lst.count('Tomcat'))			# 2
print(lst.count('PostgreSQL'))		# 0

2.2 增

由于列表为可变数据类型,可以对列表进行增删改,不会产生新的对象,操作的结果会改变原列表对象。

方法描述
L.append(object) -> None将一个对象追加到列表的末尾,这个对象会做列表的一个元素
L.extend(iterable) -> None将可迭代对象进行解包,解包后的多个结果作为列表的多个元素
L.insert(index, object) -> None将对象插入到列表中指定下标元素之前
  • append(object)
lst = ['Linux', 'MySQL', 'Tomcat']

print(lst)			# ['Linux', 'MySQL', 'Tomcat']

# 追加一个数字 98
lst.append(98)			# 这个返回值永远为 None

print(lst)			# ['Linux', 'MySQL', 'Tomcat', '98']
  • extend():参数必须为可迭代对象
lst = ['Linux', 'MySQL', 'Tomcat']

# 解包追加一个字符串
lst.extend('WHY')       # 先拆包,后追加
print(lst)				# ['Linux', 'MySQL', 'Tomcat', 'W', 'H', 'Y']

# 解包追加一个数字序列
lst.extend(range(3))
print(lst)				# ['Linux', 'MySQL', 'Tomcat', 'W', 'H', 'Y', 0, 1, 2]

# 解包追加一个列表
lst.extend([0, 1, 2])
print(lst)				# ['Linux', 'MySQL', 'Tomcat', 'W', 'H', 'Y', 0, 1, 2, 0, 1, 2]
  • insert():在指定下标元素之前插入一个对象
lst = ['Linux', 'MySQL', 'Tomcat']

lst.insert(1, 'ABC')
print(lst)			# ['Linux', 'ABC', 'MySQL', 'Tomcat']

lst.insert(0, 'ABC')
print(lst)			# ['ABC', 'Linux', 'ABC', 'MySQL', 'Tomcat']

lst.insert(-1, [1, 2])
print(lst)      	# ['ABC', 'Linux', 'ABC', 'MySQL', [1, 2], 'Tomcat']

2.3 删

方法描述
del object使用关键字del来删除指定的对象
L.pop([index]) -> item默认删除列表中最后一个元素,并返回删除的元素,可以指定下标删除对应元素
L.remove(value) -> None移除指定的元素,参数为元素本身;如果元素不存在,则报错
L.clear() -> None清空列表
  • del object
lst = ['Linux', 'MySQL', 'Tomcat']

del lst[1]
print(lst)			# ['Linux', 'Tomcat']

del lst
print(lst)			# NameError: name 'lst' is not defined
  • pop():删除元素并返回元素
lst = ['Linux', 'MySQL', 'Tomcat']

print(lst.pop()))		# 'Tomcat'
print(lst)				# ['Linux', 'MySQL']

print(lst.pop(-2))		# Linux
print(lst)				# ['MySQL']
  • remove():移除元素,元素不存在则报错
lst = ['Linux', 'MySQL', 'Tomcat']

lst.remove('MySQL')
print(lst)				# ['Linux', 'Tomcat']

lst.remove('PostgreSQL')	# ValueError: list.remove(x): x not in list
  • clear():清空列表
lst = ['Linux', 'MySQL', 'Tomcat']

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

2.4 改

2.4.1 修改指定下标数据
lst = ['Linux', 'MySQL', 'Tomcat']

lst[1] = 'PostgreSQL'
print(lst)

lst = ['Linux', 'MySQL', 'Tomcat']
lst[1:] = ['PostgreSQL']
print(lst)          # ['Linux', 'PostgreSQL']

# 练习:通过切片修改原列表,将列表清空
lst[:] = []
print(lst)
2.4.2 方法
方法描述
L.reverse() -> None逆置。直接将原列表反向排列。
L.sort(*, key=None, reverse=False) -> None如果不传入参数,会将原列表升序排列
  • reverse():逆置
lst = ['Linux', 'MySQL', 'Tomcat']

lst.reverse()
print(lst)


lst = [6, 2, 3, 1, 8]

lst.reverse()
print(lst)          # [8, 1, 3, 2, 6]
  • sort()
lst = [6, 2, 3, 1, 8]

lst.sort()
print(lst)			# [1, 2, 3, 6, 8]

lst.sort(reverse=True)
print(lst)			# [8, 6, 3, 2, 1]

2.5 复制

方法描述
L.copy() -> List复制原列表,生成一个新的列表对象
  • copy():将原列表拷贝一份,生成一个新的列表
lst = ['Linux', 'MySQL', 'Tomcat']

print(lst.copy())		# ['Linux', 'MySQL', 'Tomcat']
print(lst)				# ['Linux', 'MySQL', 'Tomcat']

三、遍历列表

3.1 while

lst = list('Python')		# ['P', 'y', 't', 'h', 'o', 'n']

i = 0
while i < len(lst):
    print(lst[i], end=' ')
    i += 1

3.2 for

lst = list('Python')		# ['P', 'y', 't', 'h', 'o', 'n']

# 第一种遍历
for i in lst:
    print(i, end=' ')

# 第二种遍历
for i in range(len(lst)):
    print(lst[i], end=' ')

四、嵌套列表

列表中可以保存另一个或者多个列表,当一列表中,只嵌套一层列表,那么这个列表就是二维列表

lst = [['Linux', 'MySQL', 'Tomcat'], [11, 22, 33], ['name', 'age', 'gender']]

# 从lst取出Tomcat字符串
print(lst[0][2])		# 'Tomcat'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值