数据结构
数据结构
[range()](#range())
range()
range(开始,结束),返回一个序列,左闭右开
range(开始,结束,步长)
字符串
字符串操作
字符串变量定义
s = "hello"
s = 'hello'
组成字符串的方式
使用“+”将两个字符串连接成一个新的字符串
组成字符串格式化符号
下标hello[01234]
通过下标获取指定位置的字符,string_name[index]
切片
切片的语法:string_name[起始:结束:步长]
代码
基本操作
切片
基本操作
切片步长
字符串常用内置方法
find
在字符串中查找指定的子字符串是否存在,如果存在则返回第一个子字符串的起始下标,如果不存在则返回-1
count
在字符串中统计包含的子字符串的个数
replace
使用新的子字符串替换指定的子字符串,返回新的字符串
split
按照指定的分隔符字符串,返回分割之后的所有元素的列表
startswith
判断字符串是否以指定前缀开头,返回值为True或False
endswith
判断字符串是否以指定后缀结束,返回值为True或False
upper
字符串所有字符大写
lower
字符串所有字符小写
列表
可理解为柜子,柜子里有不同的抽屉,可存储不同类型的值。
可存储相同或者不同类型数据的集合
列表定义
name_list = ["zhangsan","lisi","wangwu"]
顺序存储,可通过下标获取内部元素
name_list[0]
name_list[1]
内容可变,可通过下角标修改元素值
name_list[0] = "xiaobai"
使用循环遍历列表
嵌套列表
代码
基本操作
存储不同类型的元素,遍历列表
嵌套列表
对列表进行增删改查
append()/insert()添加元素
append()向列表末尾添加元素
insert()可指定位置添加元素
“+”组合两个列表生成新的列表
extend()向调用它的列表中添加另外一个列表的元素
del()/pop()/remove()删除元素
切片
和字符串的切片操作相同
in/not in 判断元素在列表中是否存在
sort()列表内元素重排序
默认从小到大排列
reverse()列表内容倒置
count()统计列表内指定元素个数
列表去重
使用内置set方法来去重:
元组
循序存储相同/不同类型的元素
元组定义,使用()将元素括起来,元素之间用","隔开
特性:不可变,不支持增删改查
查询:通过下标查询元组指定位置的元素
空元组的定义:none_tuple = ()
只包含一个元素的元组:one_tuple = ("one",)
定义一个元素的元组,括号里一定要有一个逗号(,)
循环遍历元组
列表用于存储可变的元素,一般存储相同类型的元素。
元组不可变,通常存储一些不希望被改变的信息,如用户名,密码等。
循环遍历元组
字典
存储Key-Value键值对类型的数据
字典定义:{Key1 : value1, key2 : value2, ...}
查询:根据Key查找Value
字典具有添加、修改、删除操作
内置方法get、keys、values、items、clear
循环遍历字典
基本操作
使用字典的原因:
存储大量数据也能够准确查找和修改。
不支持通过下标来查询指定位置的元素的值。
Key不能重复出现,否则后面的值会覆盖前面的值
字典的增删改查操作
使用循环来遍历字典
清空字典
集合
无序存储不同数据类型不重复元素的序列
即使填入多个相同的元素,也会被去重
集合定义:name_set={"xiaoming", "xiaoqiang", "xiaobai"}
使set对序列中元素去重,同时创建集合
例如:name_set = set(["xiaoming", "zhangsan"])
创建空集合:none_set = set()
使用in和not in判断一个元素在集合中是否存在
使用add(元素)方法添加一个元素到集合中
使用update(序列)方法将一个序列中的元素添加到集合中,同时对元素去重
remove(元素)根据元素值删除集合中指定元素,如果元素不存在,则报错
discard(元素)根据元素值删除集合中指定元素,如果元素不存在,不会引发错误
pop()随机删除集合中的某个元素,并且返回被删除的元素
clear()清空集合
集合操作
交集intersection(&)
并集union(|)
差集difference(-)
对称差集(^)
基本用法
对于字符串,会打乱元素顺序,并对字符去重。
创建空集合
判断存在与否
update添加序列,而add()只能添加一个元素
三种删除操作
交集,并集,差集
参考资料
Last updated