数据结构

数据结构

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