python语言学习——元组与列表

1. 序列类型

1.1 序列类型基本知识

序列类型是一维元素向量,元素之间存在先后关系,通过序号访问。

由于元素之间存在顺序关系,所以序列中可以存在数值相同但是位置不同的元素。序列类型支持成员关系操作符(in)、长度计算操作符(len())、分片([]),元素本身也可以是序列类型。

Python语言中有很多数据类型都是序列类型,其中比较重要的是str(字符串)、tuple (元组)和list (列表)。字符串(str) 可以看成是单一字符的有序组合,属于序列类型。同时,由于字符串类型十分常用且单一字符串只表达一个含义,也被看作是基本数据类型。

元组是包含0个或多个数据项的不可变序列类型。元组生成后是固定的,其中任何数据项不能替换或删除。列表则是一个可以修改数据项的序列类型,使用也最灵活。无论哪种具体数据类型,只要它是序列类型,都可以使用相同的索引体系,即正向递增序号和反向递减序号。

1.2 序列类型的通用操作符和函数

操作符描述
x in s如果x是s的元素,则返回True;否则返回False
x not in s与第一个相反
s+t连接s和t
s*n将序列s复制n次
s[i]索引,返回序列的第i个元素
s[i:j]分片,返回s中**[i,j)**个元素,注意不包括j
s[i:j:k]步骤分片,返回包含序列s第i个到第j个元素以k为步长的子序列
len(s)序列s元素的长度
min(s)序列s中的最小元素
max(s)序列s中的最大元素
s.index(x[,i[,j]])序列s中从i开始到j位置中第一次出现元素x的元素
s.count(x)序列s中出现x的总次数

1.2.调试情况

>>> s = 'a','b','c','d','e'
>>> 'a' in s
True
>>> 'a' not in s
False
>>> t = 'q','w','e'
>>> s+t
['a', 'b', 'c', 'd', 'e', 'q', 'w', 'e']
>>> s*3
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
>>> s[2]
'c'
>>> s[0:3]
['a', 'b', 'c']
>>> s[0:3:2]
['a', 'c']
>>> len(s)
5
>>> min(s)
'a'
>>> max(s)			#此处是比较ascll所对应的十进制的大小
'e'
>>> s.index('a')
0
>>> s.count('b')
1

1.3 元组

元组(tuple)是序列类型中比较特殊的类型,因为它一旦创建就不能被修改。元组类型在表达固定数据项、函数多返回值、多变量同步赋值、循环遍历等情况下十分有用。

通过循环遍历结合math库,可以求出多个坐标值到原点的距离:

>>> import math
>>> for x, y in ((1,1),(2,6)):
	print(math.hypot(x,y))

	
1.4142135623730951
6.324555320336759

2. 列表类型

2.1 列表类型的基本概念

列表(list) 是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。

由于列表属于序列类型,所以列表也支持成员关系操作符(in)、 长度计算函数(len()、分片([])。 列表可以同时使用正向递增序号和反向递减序号,可以采用标准的比较操作符(<. <=、==、!=、>=)进行比较,列表的比较实际上是单个数据项的逐个比较。

列表用中括号([]) 表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数会返回一个空列表。

>>> list('dream')
['d', 'r', 'e', 'a', 'm']
>>> list()
[]

此外,简单将一个列表赋值给另一个列表不会生成新的列表对象

2.2 列表类型特有的函数或方法

函数或方法描述
ls[i]=x替换ls中第i项为x
ls[i:j]=lt用列表lt替换ls中第i到第j项数据
del ls[i:j]删除ls第i到第j项数据
ls += lt/ls.extend(lt)将列表lt增加到ls中
ls.qppend(x)在列表最后增加一个元素x
ls.clear清除ls中所有元素
ls.copy生成一个新列表,复制ls中所有元素
ls.insert(i,x)在列表的第i位置增加元素x
ls.pop(i)将列表ls中的第i项元素提取出来并删除
ls.remove(x)将列表中出现的第一个元素x删除
ls.reverse(x)列表ls中的元素反转

2.2.调试情况

>>> a = list('dream')
>>> a.pop(0)
'd'
>>> a
['r', 'e', 'a', 'm']
>>> a[0]='d'
>>> a
['d', 'e', 'a', 'm']
>>> a[1:3]=['d']
>>> a
['d', 'd', 'm']				#python不要求两个列表的长度一样,但遵循“多增少减”的原则,这样,可以通过赋给更多或更少元素实现对列表元素的插入和删除
>>> for s in a:
	print(s,end="")

ddm		#与元组一样,列表可以通过for-in语句对其元素进行遍历

3. 小结

上文讲述的是元组与列表,关于字典和集合,将在下一篇文章详细介绍

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值