python中常用的序列类型的区别

您所在的位置:网站首页 python的序列类型不包括 python中常用的序列类型的区别

python中常用的序列类型的区别

#python中常用的序列类型的区别| 来源: 网络整理| 查看: 265

前言:python的基本数据类型可以分为三类:数值类型、序列类型、散列类型,本文主要介绍序列类型及其通用操作。

一、序列类型

1)字符串(str):用单引号('),双引号("),三引号(三单引号'''或三双引号""")来表示

2)列表(list):用[ ]中括号表示

3)元组(tuple):用()小括号表示

二、字符串str

1.定义

字符串定义:单引号、双引号、三引号、str() 引号都是成对出现

空字符串:s ='' (单引号对里没有任何数据)

空字符:s =' '(中间有一个空格)

a = 'test'b= "book"c= '''student'''d= """tea"""x= 123 #x是数值类型

y = str(x) #通过python内置函数str()转换成字符串

2.字符串的常见操作

字符串的拼接: +

字符串的输出:print(),输出多个不同的数据用逗号隔开

字符串转义:\n换行 , r 防止转义

下标取值:[],默认下标从0开始,0,1,2.....,如果从后面倒序开始取,就是-1,-2,-3......

a = 'bo'b= 'ok'c= a + b #字符串拼接

print(c)print('这是测试换行\n的字符串')print(r'!@$#%#&"""这是防止转义的字符串')print(c[0]) #下标取值

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

book

这是测试换行

的字符串

!@$#%#&"""这是防止转义的字符串

b

Process finished with exit code 0

3.字符串的常用方法

1)join字符串拼接

str1 = '000'str2= str1.join(('zhangsan','nan','18')print(str2)#输出结果#zhangsan000nan00018

str3= ' '.join(str1)print(str3)#输出结果#0 0 0

2)find查找元素

查找元素的位置,可以是单个元素,也可以查找字符串,如果找不到就返回-1

#find:查找元素,找到第一个返回对应的下标值,找不到返回-1

str1 = 'asdgsajl'

print(str1.find('a'))print(str1.find('sa'))print(str1.find('adadda'))#输出结果#0#4#-1

3)count统计元素个数

统计元素个数,可以是单个元素,也可以是字符串

str1 = 'asdgsajl'

print(str1.count('a'))#输出结果#2

4)replace替换字符

可以替换单个元素,也可以替换字符串,从左到右会替换全部符合条件的,还可以指定替换次数

str1 = 'asdgsajl'

print(str1.replace('a','2'))print(str1.replace('a','2',1)) #只替换1次

#输出结果#2sdgs2jl#2sdgsajl

5)split字符串分割

split() 指定某个字符为分隔符,分割出来的结果放入一个列表

str1 = 'sdagsajl'

print(str1.split('a'))#输出结果#['sd','gs','jl']

#分割后取出第一个,按下标取值,下标从0开始

print(str1.split('a')[0])#输出结果#sd

6)upper、lower大小写

将英文字母全部转成大写、小写

str1 = 'asdfgh'

print(str1.upper())

str2= 'SDFGG'

print(str2.lower())#输出结果

ASDFGH

sdfgg

7)strip去除空格换行符

去除首尾空格和换行符,另外还有lstrip()去除左边的空格,rstrip()去除右边的空格

str1 = 'asrfaada'

print(str1.strip)#输出结果#asrfaada

4.字符串格式化输出

1)传统格式化输出%

输出整数%d

输出浮点数 %f

指定输出小数点位数%.2f (保留小数点后2位)

输出字符串 %s

字符串截取 %.2s (保留两个长度的字符串)

test = 'python'num= 12345.45612

print('test是%s' %test)print('test是%.2s' %test)#print('test是%d' % test) # 因为test是一个字符串,使用%d会报错

print('num是%d' %num)print('num是%f' %num)print('num是%.2f' % num)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

test是python

test是py

num是12345

num是12345.456120num是12345.46Process finished with exit code 0

2)format格式化输出

用 { } 花括号作一个占位符,这种写法比较流行

不指定序号,自动取匹配 {}

指定下标序号去匹配 [0] [1]

保留两位小数 {:.02f}

百分比形式显示 {:.2%}

print('{}{}{}'.format('test','是','python'))  #常用这种写法

print('{}a{}a{}'.format('test','是','python'))print('{2}{0}{1}'.format('test','是','python')) #指定format下标

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

test是python

testa是apython

pythontest是

Process finished with exit code 0

三、元组tuple

1.定义

通过()小括号来表示元组,元组中的数据可以是任意的,但元组是不可变类型的数据,元组定义之后无法修改其内部的元素

2.元组的常见操作

下标取值:元组内部的数据是有序的,可以通过下标取值

注意点:

t = () 是空元祖

t = (1,) 只有一个数据的时候,要在末尾加一个逗号

3.元组的方法

count:查找元素的个数,找不到会返回0

index:查找元素的下标,还可以指定查找范围

t = () #这是一个空元组

t2 = (1,) #只有一个元素

t3 = (1, 2, 3, 'sdfg', '张三' , 'sdfg')

res= t3.count('张三')

res2= t3.count('sd')

res3= t3.count('sdfg')

res4= t3.index('sdfg')

res5= t3.index('sdfg', 0, 4)print(t, t2, t3, res, res2, res3,res4, res5)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

() (1,) (1, 2, 3, 'sdfg', '张三', 'sdfg') 1 0 2 3 3Process finished with exit code 0

四、列表list

1.定义

列表用[] 中括号表示

列表内部的元素可以是任意类型

列表是使用最频繁的数据类型之一

2.列表的常见操作

1)下标索引取值:列表内部的元素是有序的

2)修改元素的值:列表是可变类型数据,可以通过下标修改指定位置的值

li = [1, 2, 'ada', (1, 2)] #嵌套了一个元组,整个元组是一个元素

print(li[3])

li[3] = (1, 2, 3)print(li)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

(1, 2)

[1, 2, 'ada', (1, 2, 3)]

Process finished with exit code 0

3.列表的方法

1)增:append、insert、extend

li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']#增加元素#append:往列表的最后位置增加元素

li.append('php')print(li)

li.append([11, 22, 33]) #嵌套,加一个列表

print(li)#insert:按指定位置插入,通过下标指定

li.insert(3, 'c#')print(li)

li.insert(4, '[0,1]') #嵌套,指定位置加一个列表

print(li)#extend:插入多个元素

li.extend(['aa', 'bb', 'cc'])print(li)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

['python', 'java', 'c', 'c++', 'go', 'ruby', 'html', 'php']

['python', 'java', 'c', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]

['python', 'java', 'c', 'c#', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]

['python', 'java', 'c', 'c#', '[0,1]', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33]]

['python', 'java', 'c', 'c#', '[0,1]', 'c++', 'go', 'ruby', 'html', 'php', [11, 22, 33], 'aa', 'bb', 'cc']

Process finished with exit code 0

2)删:pop、remove、clear(还有一个关键字del删除)

li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']#删除元素#remove:删除指定元素,从前往后找,找到第一个删除,只删除第一个

li.remove('python')print(li)#pop:指定下标删除,如果不传下标,默认删除最后一个,最后一个是-1

li.pop()print(li)

li.pop(0)print(li)#clear:清空列表的所有元素#li.clear() 这里不做运行

#del:关键字(关键字删除) 把整个li列表从内存删除了#del li 这里不做运行

del li[1] #通过下标删除某一个元素

print(li)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

['java', 'c', 'c++', 'go', 'ruby', 'html']

['java', 'c', 'c++', 'go', 'ruby']

['c', 'c++', 'go', 'ruby']

['c', 'go', 'ruby']

Process finished with exit code 0

3)查:index、count

li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']#查询#count:计数

print(li.count('python')) #统计元素的个数#index:返回下标

print(li.index('java')) #查找元素的下标

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py1

1Process finished with exit code 0

4)改:通过下标修改值

li = ['python', 'java', 'c', 'c++', 'go', 'ruby', 'html']#修改列表元素

li[1] = 'python'

print(li)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

['python', 'python', 'c', 'c++', 'go', 'ruby', 'html']

Process finished with exit code 0

5)其他:copy、reverse、sort

lii = [88,17,22,56,123,23,22,5]#copy:对列表的元素倒序显示

test =lii.copy()print(test)#sort:对数值排序,默认从小到大排序

lii.sort() #从小到大排序

print(lii)

lii.sort(reverse=True) #从大到小排序

print(lii)#reverse:对列表的元素倒序显示

lii.reverse()print(lii)

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

[88, 17, 22, 56, 123, 23, 22, 5]

[5, 17, 22, 22, 23, 56, 88, 123]

[123, 88, 56, 23, 22, 22, 17, 5]

[5, 17, 22, 22, 23, 56, 88, 123]

Process finished with exit code 0

五、序列类型的通用操作

1.下标取值

可以正向取,从0开始,也可以反向取,从-1开始

2.切片

[a:b] a代表起始位置,b终止位置,使用的是元素下标,左闭右开,需a

[a: b : ​c] c为步长,c为负时表示反切,从后面开始切,需a>b

#内部元素按下标索引进行排序#切片[a:b] 左闭右开#[a:b:c] 为c步长

str1= 'hello python !'str2= ['python','java','c++','c#','go','php']

str3= (1,3,4)print(str1[1])print(str1[6:12])print(str2[6:-2])print(str1[::2]) #毎2个元素为一步,取毎一步的第一个元素

print(str1[6:12:2]) #取到python,步长为2,最后切片结果pto

#步长为正:开始位置下标小于终止位置 ab

print(str2[::-2]) #从后面切起,2个元素为一步

print(str2[0:5:-2]) #这样是切不到元素的,思考一下为什么?

print(str2[5:0:-2])

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

e

python

[]

hlopto

pto

['php', 'c#', 'java']

[]

['php', 'c#', 'java']

Process finished with exit code 0

3.获取元素总数

len()

4.统计元素个数

count()

str1 = 'asdas'li= [1,2]#len():打印元素的个数

print(len(str1))print(len(li))#count():打印元素的个数

print(str1.count('a'))print(li.count(1))

5.序列类型之间的转换

str():可以将整个元组或列表强制转换成一个字符串(基本不用)

list():将元组和字符串中的每个元素拿出来,组成一个列表

tuple():将列表和字符串中的每个元素拿出来,组成一个元组

#序列类型之间的相互转换

str1 = 'hello python !'str2= ['python','java','c++','c#','go','php']

str3= (1,3,4)print(str(str2)) #将整个元组或列表强制转换成一个字符串(基本不用)

print(str(str3))print(list(str1)) #将元组和字符串中的每个元素拿出来,组成一个列表

print(list(str3))print(tuple(str1)) #将列表和字符串中的每个元素拿出来,组成一个元组

print(tuple(str2))

运行结果:

C:\software\python\python.exe D:/myworkspace/test/test/test.py

['python', 'java', 'c++', 'c#', 'go', 'php']

(1, 3, 4)

['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', '!']

[1, 3, 4]

('h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ', '!')

('python', 'java', 'c++', 'c#', 'go', 'php')

Process finished with exit code 0



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3