文章目录
python序列总结(二)
元组
元组属于不可变序列,其元素不可改变,即元组一旦创建,用任何办法都不能修改元素的值,如果确实需要修改,只能在创建一个新元组。
一、元组的基本操作
1.元组的创建
使用赋值的运算符“=”将一个元组赋值给变量即可创建元组对象。
>>>a_typle=('phycise','chemistry',2017,2.5)
>>>b_tuple=(1,2,(3.0,'hello world')) #元组嵌套元组
>>>c_tuple=('wade',3.0,81,['bosh','haslem']) #元组嵌套列表
>>>d_tuple=() #创建空元组
如果创建只包括一个元素的元组,需在元素后面加一个“,”。
2.读取元素
元组名 [索引]
3.元组切片
>>>a_tuple[1:3]
('chemistry',2017)
>>>a_tuple[::3]
('phycise',2.5)
4.检索元素
1.使用元组对象index( )可获得指定元素首次出现的下标。
>>>a_tuple.index(2017)
2
2.使用元组对象count( ) 统计元组指定元素出现次数。
>>>a_tuple.count(2017)
1
3.使用in运算符检索某个元素是否在该元组中。在返回True,不在返回False。
>>>‘chemistry’ in a_tuple
True
5.删除元组
>>>del a_tuple
>>>a_tuple
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
a_tuple
NameError: name 'a_tuple' is not defined
#彻底删除,该对象不再存在
二、列表与元组的区别及转换
1.列表与元组区别
列表是可变序列,可以修改、增加、删除
元组不可变,数据一旦定义就不能改变
2.元组优点
1.元组处理速度和访问速度比列表快。如果定义了一系列常量值,主要对其元素进行遍历或类似用途,而不需要修改,一般使用元组。元组对不需要修改的元素进行了“写保护”。
2.作为不可变序列元组可用作字典的键。
3.列表与元组转换
内置函数tuple( )接受列表作为参数,返回含有同样元素的元组、list( )接收元组作为参数,返回包含同样元素的列表。
>>>a_list=['physics','chemistry',2017,2.5,[0.5,3]]
>>>tuple(a_list)
('physics','chemistry',2017,2.5,[0.5,3])
>>>type(a_list)
<class 'list'> #a_list类型没有改变
>>>b_tuple=(1,2,(3.0,'hello world'))
>>>list(b_tuple)
[1,2,(3.0,'hello world')]
type(b_tuple)
<class 'tuple'>
从效果看,tuple( )函数可以看作是在冻结列表使其不可变,list( )函数是融化元组使其可变。
三、元组应用
元组中元素的值不可改变,但元组中可变序列的元素的值可以改变。
可以利用元组来一次性给多个变量赋值。
>>>v=('a',2,True)
>>>(x,y,z)=v
>>>v=('python',2,True)
>>>(x,y,z)=v
>>>x
'python'
>>>y
2
>>>z
True
字符串
字符串用一对单引号或双引号引起来。
一、三重引号字符串
Python中有一种特殊的字符串,用三重引号表示。如果字符串占据了几行,但却想让 Python保留输入时使用的准确格式,例如行与行之间的回车符、引号、制表符或者其他信息都保存下来,则可以使用三重引号—字符串—以三个单引号或三个双引号开头,并且以三个同类型的引号结束。采用这种方式,可以将整个段落作为单个字符串进行处理。
>>>'''python is an "object-oriented"
open-source programming language'''
'python is an "object-oriented"\n open-source programming language
二、字符串基本操作
1.字符串创建
使用赋值的运算符“=”将一个字符串赋值给变量即可创建字符串对象。
>>>str1="hello"
>>>str1
>>>str2='program\n\'python\''
>>>str2
"program\n'python'"
2.字符串元素读取
字符名 [索引]
>>>str1[0]
'h'
>>>str1[-1]
'o'
3.字符串分片
>>>str="python program"
>>>str[0:5:2]
'pto'
>>>str[:]
'python program'
>>>str[-1:-20]
''
>>>str[-1:-20:-1]
'margorp nohtyp'
4.连接
>>>"hello"+"world"
'helloworld'
>>>"p"+"y"+"t"+"h"+"o"+"n"+"program"
'pythonprogram'
字符串和数值类型数据连接时,需使用str( )函数将数值转换成字符串。
>>>"python"+str(3)
'python3'
5.重复
使用运算符“ * ”
>>>"hello"*3
'hellohellohello'
6.关系运算
1.单字符字符串比较。按ASCII码值进行大小比较。
2.多字符字符串比较。仍基于ASCII码值。比较的过程是并行地检查两个字符串中位于同一位置的字符,然后向前推进,直到找到两个不同的字符为止,返回比较结果。如果两个字符串比较到一个字符串结束时,对应位置的字符都相等,则较长的 字符串更大。
>>>'abc'>'abcd'
False
>>>""<"0"
True
7.成员运算
字符串1 [not] in 字符串2 ,返回True或False
三、字符串的常用方法
1.查找子串
str.find(要查找的子串,[start,[end] ])
找到返回子串在主串中的位置,找不到返回-1
2.字符串替换
str.replace(old ,new [,max])
替换次数不超过max次。
3.字符串分离
str.split([sep])
sep表示分隔符,默认以空格作为分隔符。若参数中没有分隔符,则把整个字符串作为列表的一个元素,当有参数时,以该参数进行分隔。
>>>s3="beijing,xi'an,tianjing,beijing,chongqing"
>>>s3.split( )
["beijing,xi'an,tianjing,beijing,chongqing"]
4.字符串连接
sep.join(要连接的序列)
sep表示分隔符,可以为空。最后返回生成的新字符串。
>>>s4=["beijing","xi'an","tianjin","chongqing"]
>>>sep="-->"
>>>str=sep.join(s4)
>>>str
"beijing-->xi'an-->tianjing-->chongqing"
>>>s5=("hello","world")
>>>sep=""
>>>sep.join(s5)
'helloworld'