学习笔记:Python组合数据类型之序列类型

本文详细介绍了Python中的序列类型,包括字符串、列表和元组。字符串是Unicode编码的一维字符序列,可以用单引号、双引号或三引号表示。列表是可变的元素集合,可以容纳不同类型的数据,可以通过list()函数转换其他类型。元组则不可变,常用于数据结构的固定部分。文中还探讨了各种序列的操作,如赋值、遍历、排序及比较,并给出了示例。
摘要由CSDN通过智能技术生成

序列类型是一维元素向量,元素之间存在先后关系,通过序号访问(从0开始)。
序列类型分为字符串、列表和元组。

一、字符串(str)

1、表示:单引号和双引号都可以表示单行字符串,两者作用相同。三引号可以表示单行或多行字符串。
2、输入:input()函数将输入内容作为字符串,可以使用eval()函数来处理字符串。
3、输出
print()函数可以直接打印字符串。
字符串以Unicode编码存储,因此字符串的英文和中文字符都算1个字符。

>>> s="人生苦短,我学Python"
>>> s[:4]	  
'人生苦短'            #字符串
>>> print(s[:4])	    #直接打印字符串就没有引号了
人生苦短
>>> print(s[5:])	  
我学Python
>>> print(s[:])	  
人生苦短,我学Python

4、字符串操作符
对于字符串s

作用对应操作符
连接字符串+
索引s[i]
切片s[N:M]
复制n次s * n 或 n * s
子串判断x in s (是返还True否则False)

5、字符串的格式化
1、字符串使用来进行格式化,要记住一些格式控制标记,且格式内容需要按照一定顺序书写。
2、一些常见格式化控制字符

作用对应控制字符
\b回退一格
\n换行
\r回车
\t水平制表(个人理解为一个Tab长度的空格)

如:

>>> print("haha\tbttt")	  
haha	bttt
>>> print("haha\abttt")    #  \a 这个叫铃响
hahabttt

二、列表(list)

1、概念
①列表的长度与内容可变
②可以使用list()函数将字符串或元组转换成列表类型
③列表与数组的不同之处在于:创建列表变量不需要预先分配空间大小,可在使用中动态插入元素;列表不要求元素类型一致
2、操作
设有列表ls1和ls2
(1)赋值
①将ls1的值赋给ls2只是产生一个新的引用,不会生成新的列表对象,所以列表要通过显式的数据赋值才能生成,如:

>>> ls1=[425,"BIT",1024]
>>> ls2=ls1
>>> ls1[0]=0
>>> ls2
[0, 'BIT', 1024]

我们把ls1列表里的一个元素给修改了,ls2只是对ls1的引用,所以ls2也会改变。
其实ls1和ls2都是实际数据的表示或引用,真实数据只储存一份。
②当使用一个列表改变另一个列表的值时,不要求长度匹配

>>> ls1=[1,2,3,4,5,6]	   
>>> ls2=[8,9] 
>>> ls1[0:4]=ls2 
>>> ls1
[8, 9, 5, 6]        #少减
 ls2=[1,2,3]
>>> ls1[0,2]=ls2   
>>> ls1	        
[1, 2, 3, 5, 6]     #多增

(2)遍历列表

>>> ls=["E","m","p","t","y"]
>>> for i in ls:
	   print(i,end='')
Empty
>>> 

(3)排序
按照从小到大排序,可以使用Python内置函数sorted()

>>> ls=[2,5,7,1,6]
>>> sorted(ls)
[1, 2, 5, 6, 7]

如果要从大到小排序,一开始,我直接把reversed()函数和sorted()函数嵌套使用
错误示范(好傻):

>>> reversed(sorted(ls))
<list_reverseiterator object at 0x0000000002F51898>

后来找到了正确示范(目前没有看到其它方法):

>>> sorted(ls,reverse=True)
[8, 5, 4, 3]

(4)比较两个列表
列表的比较大小实际上是单个数据项的逐个比较,相同下标的元素依次进行比较。

>>> ls1=[5,9,8]
>>> ls2=[7,5,3]
>>> ls1>ls2	  
False
>>> ls1<ls2	  
True
>>> 
>>> ls1=[1,2,3,4]
>>> ls2=[1,2,3]	
>>> ls1>ls2	
True
>>> ls1<ls2	
False

三、元组(tuple)

1、元组类型一旦创建就不能被修改。
2、一个元组可以作为另一个元组的元素 。


参考:
嵩天、礼欣、黄天羽著 《Python语言程序设计基础(第2版)》 高等教育出版社 2017

如有错误,敬请指正。谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值