python的集合类型——字符串、列表、元组、字典

集合类型

1、字符串

下标索引

所谓下标,就是编号,就好比超市中的存储柜的编号,通过这个编号就能找到相应的存储空间

字符串实际上就是字符数组,所以也支持下标索引

如果有字符串:name = 'abcdef',在内存中的实际存储如下:


切片(分片)

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作

切片的语法:[起始:结束:步长]

步长:表示下标变化的规律。

注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。



字符串常见操作

<1>find() == java Indexof方法

检测 str 是否包含在 mystr中,如果是返回开始的索引值否则返回-1

mystr.find(str, start=0, end=len(mystr))

<2>index()

跟find()方法一样,只不过如果str不在 mystr中会报一个异常.

mystr.index(str, start=0, end=len(mystr))

<3>count

返回 str在start和end之间 在 mystr里面出现的次数

mystr.count(str, start=0, end=len(mystr))

<4>replace

把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.

mystr.replace(str1, str2,  mystr.count(str1))

<5>split

以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串

mystr.split(str=" ", 2)    

<6>capitalize

把字符串的第一个字符大写

mystr.capitalize()

<7>title

把字符串的每个单词首字母大写

<8>startswith

检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False

mystr.startswith(obj)

<9>endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

mystr.endswith(obj)

<10>lower

转换 mystr 中所有大写字符为小写

mystr.lower()        

<11>upper

转换 mystr 中的小写字母为大写

mystr.upper()    

<12>ljust

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

mystr.ljust(width)

<13>rjust

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

mystr.rjust(width)    

<14>center

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

mystr.center(width)   

<15>lstrip

删除 mystr 左边的空白字符

mystr.lstrip()

<16>rstrip

删除 mystr 字符串末尾的空白字符

mystr.rstrip()    

<17>strip ---java trim

删除mystr字符串两端的空白字符

<18>rfind

类似于 find()函数,不过是从右边开始查找.

mystr.rfind(str, start=0,end=len(mystr) )

<19>rindex

类似于 index(),不过是从右边开始.

mystr.rindex( str, start=0,end=len(mystr))

<20>partition

把mystr以str分割成三部分,str前,str和str后

mystr.partition(str)

<21>rpartition

类似于 partition()函数,不过是从右边开始.

mystr.rpartition(str)

<22>splitlines

按照换行符分隔,返回一个包含各行作为元素的列表

mystr.splitlines()  

<23>isalpha

如果 mystr 所有字符都是字母 则返回 True,否则返回 False

mystr.isalpha()  

<24>isdigit

如果 mystr 只包含数字则返回 True 否则返回 False.

mystr.isdigit()

<25>isalnum

如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False

mystr.isalnum()  

<26>isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr.isspace()   

<27>join

mystr 中每个字符后面插入list的每个元素后面,构造出一个新的字符串

mystr.join(list)


列表

1、列表介绍

Python内置的一种数据类型是列表listlist是一种有序的集合,可以随时添加和删除其中的元素

len()函数可以获得list元素的个数

注:要确保索引不要越界,记得最后一个元素的索引是 len(列表名) - 1


2、列表的相关操作

列表中存放的数据是可以进行修改的,比如"增"、"删"、"改""

<1>添加元素("增"append, extend, insert)

append                         通过append可以向列表添加元素

extend                          通过extend可以将另一个集合中的元素逐一添加到列表中

insert(index, object)      在指定位置index前插入元素object


删除元素("删"del, pop, remove)

del:根据下标进行删除,其实可以删除所有变量

pop默认删除最后一个元素

remove:根据元素的值进行删除第一个


查找元素("查"in, not in, index, count)

in(存在),如果存在那么结果为true,否则为false

not in(不存在),如果不存在那么结果为true,否则false

#查找是否存在if findName in nameList:

                              print('在字典中找到了相同的名字')

                    else:

                              print('没有找到')


排序(sort, reverse)

sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

reverse方法是将list逆置。



元组

Python的元组与列表类似,不同之处在于元组的元素不能修改元组使用小括号列表使用方括号




字典

Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储具有极快的查找速度。


注:dict内部存放的顺序key放入的顺序是没有关系的

和list比较,dict有以下几个特点:

1)查找和插入的速度极快,不会随着key的增加而变慢;

2)需要占用大量的内存,内存浪费多。

3)而list相反:查找和插入的时间随着元素的增加而增加;占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法

猜你喜欢

转载自blog.csdn.net/qq_39368007/article/details/88542165