列表与元组——Python基础语法

列表

基本概念

  • 列表是有序的元素集合,所有元素放在一对中括号中,用逗号隔开,没有长度限制
  • 列表索引值以0为开始值,-1为从末尾的开始位置
  • 列表可以使用+操作符进行拼接,使用*进行重复
  • 当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙

列表元素可以通过索引访问单个元素
列表
列表可以完成大多数集合类的数据结构实现
列表中元素的类型可以不相同,他支持数字,字符串甚至可以包含列表(所谓嵌套)
列表元素修改
列表大小没有限制,可以随时修改
列表元素可以随时修改
列表基本操作

列表操作符 操作符含义
< list >*< 整数类型 > 对列表进行整数次重复
len(< seq >) 列表中元素个数
< list >[< 整数类型 >] 索引列表中的元素
for< var >in < list >: 对列表进行循环列举
< list >[< 整数类型>:< 整数类型>] 取列表的一个子序列
< expr>in< list > 成员检查,判断< expr >是否在列表中
< list1 >+< list2 > 连接两个列表

列表相关方法

方法 方法含义
< list >.append(x) 将元素x增加到列表的最后
< list >.sort() 将元素列表排序
< list >.reserve() 将序列元素反转
< list >.index(x) 返回第一次出现元素x的索引值
< list >.insert(i,x) 在位置i处插入新元素x
< list >.count(x) -返回元素x在列表中的数量-
< list >.remove(x) 删除列表中第一次出现的元素x
< list >.pop(i) 取出列表中位置i的元素,并删除它

创建列表

>>>list((3,5,7,9,11))   #将元组转换为列表
[3,5,7,9,11]
>>>list(range(1,10,2))  #将range对象转换为列表range(开始,结束,步长)
[1,3,5,7,9]                                       从1到10(不包括10)每次加2
>>>list('hello world')  #将字符串转换为列表,每个字符转换为列中的一个元素
['h', 'e' ,'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd' ]
>>>list({3,7,5})  #将集合转换为列表,集合中的元素是无序的
[3,5,7]
>>>x=list()  #创建空列表
>>>x=[1,2,3]
>>>del x  #删除列表对象
>>>x  #对象删除后无法再访问,抛出异常

data=list(range(10))  #列表为从1到10(不包括10)的数字
print(data[-1])  #-1表示最后一个元素的下标
print(data[15])  #15不是有效下标,抛出异常

元组

基本概念

  • 元组(tuple)是包含多个元素的类型,元素之间用逗号分割(如:t1=(123,456,“hello”))
  • 可以通过把若干元素放在一对圆括号中创建元组,如果只有一个元素的话则需要多加一个逗号(如:(3,))
  • 也可以使用tuple()函数吧列表、字典、集合、字符串以及range对象、map对象、zip对象或者其他类似对象转换为元组
  • 元组可以是空的,t2=()
  • 一个元组也可以作为另一个元组的元素,此时,作为元素的元组需要增加括号,从而避免分歧(如:t3=(123,456,(“hello”,“world”)))
  • 元组各元素存在先后关系,可以通过索引访问元组中的元素
  • 元组定义后不能更改,也不能删除
  • 与字符串类型类似,可以通过索引区来访问元组中的部分元素
  • 与字符串一样,元组之间可以用+号和*号进行运算
    切片操作
  • 适用于列表、元组、字符串
  • 切片是用来获取列表、元组、字符串等有序序列中部分元素的一种语法。在形式上,切片使用2个冒号分隔的3个数字来完成
  • [start:end:step]
  • 其中第一个数字start表示切片开始位置,默认为0;第二个数字表示切片截止(但不包含)位置(默认为列表长度);第三个数字表示切片的步长(默认为1),省略步长时还可以同时省略最后一个冒号
  • 当step为负整数时,表示反向切片,这使start应该在end的右侧
data=list(range(20))
print(data[ : ]) #获取所有元素的副本
print(data[-3: ]) #最后3个元素
print(data[ : -5]) #除最后5个元素之外的所有元素
发布了47 篇原创文章 · 获赞 12 · 访问量 7238

猜你喜欢

转载自blog.csdn.net/weixin_43717681/article/details/104062984