Python list列表

list列表

  • 一组由有序数据做成的序列
    • 数据就有先后顺序
    • 数据可以不是一类数据
  • list的创建
    • 直接创建,用中括号创建,内容直接用英文逗号隔开
    • 使用list创建
    • 列表包含单个字符串的时候是个特例
L1 = [1,2,3,4,5]
# list内的数据可以不是一个类型
L2 = [1,2,3,"Xiaojing","晓静"]
print(L1)
print(L2)
[1, 2, 3, 4, 5]
[1, 2, 3, 'Xiaojing', '晓静']
# 创建列表的第二种方式
L3 = list()
print(L3)
print( type(L3) )
[]
<class 'list'>
# 内置函数的概念
- help:帮助函数
- type: 显示变量的类型
- id:显示变量的id
- print:打印
# list创建的特例演示

s = "Liu Dan"
# 想创建一个只包含s一个字符串的列表
LI = list(s)
# 此种情况用LI = [s]
print(type(LI))
print(LI)
<class 'list'>
['L', 'i', 'u', ' ', 'D', 'a', 'n']

列表的常见操作

  • 访问
    • 使用下标操作,也叫索引
    • 列表的元素索引是从0开始
  • 切片操作
    • 对列表进行任意一段的截取
    • 截取之后,创建一个新的列表
LI = [32,43,22,354,323,4]
# 使用下标访问
print(LI[5])

LI = [32,43,22,354,323,4]
# 使用下标访问
print(LI[15])#索引错误,下标超标
4



---------------------------------------------------------------------------

IndexError                                Traceback (most recent call last)

<ipython-input-9-d10cedd457cb> in <module>()
      5 LI = [32,43,22,354,323,4]
      6 # 使用下标访问
----> 7 print(LI[15])


IndexError: list index out of range
# 切片操作需要注意取值范围,左包括右边不包括
L1 = [1,2,3,4,5,6,7,8,9,10]
# 对比打印结果跟下标的值
print(L1[1:6])# 左包括右不包括,下标从0开始

# 下面结果说明切片后生成的是一个全新的列表
# 通过内置函数id可以判断出切片是否生成了全新的列表
# id的作用是用来判断两个变量是否是一个变量
L2 = L1[0:10]
print(id(L1))
print(id(L2))

# 切边的下标可以为空
print(L1[:4])
print(L1[2:])
print(L1[:])
[2, 3, 4, 5, 6]
10828176
93664360
[1, 2, 3, 4]
[3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 分片可以控制增长幅度,默认增长幅度为1
print(L1[::1])# 等于print(L1[:])
print(L1[::2])
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 3, 5, 7, 9]
# 小标可以超出范围,超出后不再考虑多余下标内容
print(L1[:100])
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 下标值,增长幅度可以为负数
# 下标为负数,表明顺序是从右往左
# 规定:数组最后一个数字的下标是-1
# 下面例子为空,因为默认是从左向右移动
print(L1[-2:-5])# -1右边是10,-1不再范围内

# 如果我想利用负数下标打印9,8,7则
print(L1[-2:-5:-1])

# 如果我想利用负数下标打印7 ,8,9则
print(L1[-4:-1:1])
[]
[9, 8, 7]
[7, 8, 9]
posted @ 2023-02-27 00:09  野哥李  阅读(5)  评论(0编辑  收藏  举报  来源