python-list列表

list 列表

  • 一组有序数据做成的序列
    • 数据就有先后顺序
    • 数据可以不是一类数据
  • list的创建
    • 直接创建,用中括号创建,内容直接用英文逗号隔开
    • 使用list创建
  • str
  • list
  • tuple
  • set
  • dict
#直接赋值创建列表
L1 = [1,2,3,4,5]
#list内的数据可以不是一个类型
L2 = [1,2,3,"赵敏","min min"]

print(L1)
print(L2)
[1, 2, 3, 4, 5]
[1, 2, 3, '赵敏', 'min min']
#创建列表的第二种方式
L3 = list()
print(L3)
print( type(L3) )
[]
<class 'list'>

内置函数的概念

  • help:帮助函数
  • type:显示变量的类型
  • id:显示变量类型
  • print:
# list创建的特例演示
s = "zhao min"
# 想创建一个只包含s的一个字符串的列表
L1 = list(s)
#此种情况用L1=[s]
print(type(L1))
print(L1)
<class 'list'>
['z', 'h', 'a', 'o', ' ', 'm', 'i', 'n']

列表的常见操作

  • 访问
    • 使用下标操作,也叫索引
    • 列表的元素索引是从0开始
  • 切片操作
    • 对列表进行任意一段的截取
    • 截取之后,创建一个新的列表
# 使用下标访问
L1 = [32,43,22,85,15,64,55]

print(L1[3])

# 记住IndexError 引发错误的原因
print(L1[15])# 超出查找范围

85



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

IndexError                                Traceback (most recent call last)

<ipython-input-21-3a44d8a341ec> in <module>()
      5 
      6 # 记住IndexError 引发错误的原因
----> 7 print(L1[15])


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


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

# 切片的下标可以为空
print(L1[:3])
print(L1[4:])
print(L1[:])
[1, 2, 3, 4, 5]
[7, 8, 9]
1862905547272
1862904286856
[0, 1, 2]
[4, 5, 6, 7, 8, 9, 10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 切片可以控制增长幅度,默认增长幅度为1
print(L1[::1])#  等于print(L1[:])
print(L1[::2])# 末尾是步长
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[0, 2, 4, 6, 8, 10]
# 下标可以超出范围,超出后不在考虑多余下标内容
print(L1[:100])
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

对应顺序

 [ 1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ]
   0  1  2  3  4  5  6  7  8   9
  -10-9 -8 -7 -6 -5 -4 -3 -2  -1 
# 下标值,增长幅度可以为负数
# 下标为负数, 表示顺序是从右往左
# 规定:数组最后一个数字的下标是  -1

#以下例子为空 , 因为默认是从左向右移动
print(L1[-1:-5])
# 如果利用负数想打印 9 ,8, 7
print(L1[-2:-5:-1])
# 如果想利用负数打印 7, 8,9
print(L1[-4:-1])
[]
[9, 8, 7]
[7, 8, 9]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值