Day3 容器类型 2020.07.19


0x00:列表

一、列表的定义

  • list(列表) 是 Python 中使用 最频繁 的数据类型
  • 专门用于存储 一串 数据,存储的数据 称为 元素
  • 列表用 [] 定义,元素 之间使用 , 分隔
  • 列表的 索引0开始

    • 索引 就是元素在 列表 中的位置编号

列表索引

  • 注意:从列表中取值时,如果 超出索引范围,程序会报错

二、列表的嵌套

  • 一个列表中的元素又是列表,那么这就是列表的嵌套
  • 列表的嵌套

三、列表的常用操作

分类格式说明
增加列表.append(值)在列表末尾追加数据
删除列表.remove(值)删除列表中第一个出现的指定数据
del 列表[索引]删除指定位置的值
列表.pop(索引)从列表中删除指定位置的值,并返回该值
列表.clear()清空列表
修改列表[索引] = 值修改指定索引的数据,索引超出列表范围会报错
查询列表[索引]根据索引取值,索引超出列表范围会报错
列表.index(值)根据值查询索引,若值不存在会报错
列表.count(值)获取指定值在列表中出现的次数
值 in 列表判断列表中是否包含某个值
len(列表)获取列表长度
排序列表.sort()排序
列表.reverse()逆序、反转

四、列表操作符

  • 列表可以进行相加+和相乘*运算

    • + 相当于拼接列表
    • *相当于重复列表
    • 此外,还能通过innot in判断元素是否存在于列表当中
    # 列表相加
    print('列表相加', [1, 2, 3] + ['a', 'b'])
    
    # 列表相乘
    print('列表相乘', ['a', 'b'] * 3)
    
    # 判断元素是否存在于列表当中
    print("判断元素'a'是否存在于列表['a', 'b']当中", 'a' in ['a', 'b'])
    print("判断元素'a'是否不存在于列表['a', 'b']当中", 'a' not in ['a', 'b'])

输出结果

列表相加 [1, 2, 3, 'a', 'b']
列表相乘 ['a', 'b', 'a', 'b', 'a', 'b']
判断元素'a'是否存在于列表['a', 'b']当中 True
判断元素'a'是否不存在于列表['a', 'b']当中 False

五、列表的循环遍历

  • 通过for循环遍历

    • 遍历就是从头到尾依次从目标列表中取出列表中的每一个元素

      _list = ['dog','cat','fox','tiger']
      
      # 一般情况下的遍历
      i = 0
      
      while i < len(_list):
          print(_list[i])
          i += 1
      
      # 使用Python提供的for循环进行遍历
      for _item in _list:
          print(_item)
  • if...in 和 for...in 的区别

    • if...in :判断某个元素是否在列表当中,如果在则执行语句下的代码块
    • for...in:从头到尾依次从列表中取出每一个元素
  • for...else的使用

    • for循环中如果没有遇到break语句,则在for循环执行完成后,便会执行else分支下的代码块

0x01:元组

一、元组的定义

  • 元组用 () 定义
  • 用于存储 一串 数据元素 之间使用 , 分隔
  • 元组的 索引0 开始
  • 元组中 只包含一个元素 时,需要 在元素后面添加逗号
  • 元组只能进行查询,不能进行增删改

二、元组的常用操作

分类格式说明
查询元组[索引]根据索引取出元组中对应元素的值
值 in 元组判断元素是否存在于元组中,若存在则返回真,否则返回假
元组.index(值)获取指定值在元组中的索引,若不存在会报错
元组.count(值)获取值在元组中出现的次数
len(元组)获取元组长度

三、元组和列表的区别

  • 语法上:

    • 列表是:[]
    • 元组是:()
  • 一个元素时的定义

    • 元组:(元素,)
  • 使用上:

    • 列表元素可以改变
    • 元组元素不能修改

0x02:字典

一、字典的定义

  • 字典同样可以用来存储多个数据

    • 通常用于存储 描述一个 物品 的相关信息
  • 字典用 {} 定义
  • 字典使用键值对存储数据,键值对之间使用,分隔

    • key 是索引, value 是数据
    • 之间使用 : 分隔
    • 可以取任何数据类型,但 只能使用 字符串数字元组
    • 键必须是唯一的

二、字典的常用操作

分类格式说明
增加字典[键] = 值当键不存在时,会添加键值对
删除字典.pop(键)从字典中删除指定的键值对,并返回被删除的值
del 字典[键]从字典中删除键值对
字典.clear()清空字典
修改字典[键]=值若键存在,则会修改键值对的值
查询字典[键]从字典中获取指定键的值,若键值对不存在会报错
字典.get(键)从字典中获取指定键的值,若键值对不存在返回None
for key in 字典遍历字典,获取所有的键
for key in 字典.keys()遍历字典,获取所有的键
for key in 字典.values()遍历字典,获取所有的值
for item in 字典.items()遍历字典,获取所有的键值对(键,值)
字典合并字典1.update(字典2)将字典2合并进字典1中
字典3 = {*字典1, *字典2}将字典1和字典2合并并赋值给字典3

三、遍历字典

"""
# 遍历字典, 获取所有的键值对 (键, 值)
for k, v in 字典变量.items():
    print(k, v)
"""
_info = {'name': 'fox', 'age': 900, 'city': '青丘山'}

for k, v in _info.items():
    print(k, v)

0x03:字符串

一、字符串的定义

  • 字符串的定义

    • 字符串 就是 一串字符,是编程语言中表示文本的数据类型
    • 在 Python 中可以使用 一对双引号 " 或者 一对单引号 ' 定义一个字符串 或者 一对三引号 ''' 定义一个字符串
    • 可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始
    • 也可以使用 for 循环遍历 字符串中每一个字符
  • f-strings字符串格式化

    • f-strings是Python 3.6之后的一种新的字符串格式化方法,要使用f-strings,只需在字符串前加上f、或F。

二、字符串的常用操作

分类格式说明
查询字符串.find(目标字符串,开始索引,结束索引)在指定范围中查询目标字符串的索引,不存在返回-1
替换字符串.replace(原内容,新内容,替换次数)返回替换后的新字符串,可指定替换次数,不指定则全部替换
分割字符串.split(分割符)以分割符拆分字符串,返回拆分后的列表
拼接字符串+字符串拼接俩个字符串
字符串.join(字符串列表)以字符串来连接字符串列表中的每一个元素,合并为一个新的字符串
大小写转换字符串.lower()返回新的字符串,将原字符串中所有大写字符转为小写
字符串.upper()返回新的字符串,将原字符串中所有小写字符转为大写
判断字符串.startswith(目标字符串)检查字符串是否是以 目标字符串 开头,是则返回 True
字符串.endswith(目标字符串)检查字符串是否是以 目标字符串 结尾,是则返回 True

三、字符串的切片操作

  • 什么是切片

    • 切片 译自英文单词 slice,翻译成另一个解释更好理解: 一部分
    • 切片 使用 索引值 来限定范围,根据 步长 从原序列中 取出一部分 元素组成新序列
    • 切片 方法适用于 字符串、列表、元组
    字符串[开始索引:结束索引:步长]

字符串索引示意图

  • 注意:

    1. 指定的区间属于 左闭右开[开始索引, 结束索引) 对应 开始索引 <= 范围 < 结束索引

      • 起始 位开始,到 结束位的前一位 结束(不包含结束位本身)
    2. 从头开始,开始索引 数字可以省略,冒号不能省略
    3. 到末尾结束,结束索引 数字和冒号都可以省略
    4. 步长:理解为走的步数,正数说明是从左往右,负数是从右往左,默认步长为+1

      • 步长默认为 1,如果元素连续,数字和冒号都可以省略

0x04:集合

一、集合的作用

  • 什么是集合

    • 集合用 {} 定义,元素 之间使用 , 分隔
    • 可通过集合对列表中的元素完成去重功能
  • 集合的作用

    • 元素去重 (即通过将list & tuple转为set后,将其中的重复的元素去除,在转回原来的类型,达到去重的效果)

二、list、tuple、set之间的类型转换

函数说明
list(x)将x转换为列表类型
tuple(x)将x转换为元组类型
set(x)将x转换为集合类型

0x05:公共语法

  • 大部分容器类型的通用语法

一、Python内置函数

函数描述备注
len(函数)计算容器中元素的个数
max(item)返回容器中元素最大值如果是字典,只针对key比较
min(item)返回容器中元素最小值如果是字典,只针对key比较

二、切片

描述Pyhton表达式结果支持的数据类型
切片[1, 2, 3, 4][::2][1, 3]字符串、列表、元组

三、运算符

运算符Python表达式结果描述支持的数据类型
+[1,2] + [3,4][1,2,3,4]合并字符串、列表、元组
*[1,2] * 2[1,2,1,2]重复字符串、列表、元组
in3 in [1,2,3]True元素是否存在字符串、列表、元组、字典
not in4 not in (1,2,3)True元素是否不存在字符串、列表、元组、字典
> >= == < <=(1,2,6) < (1,3,4)True元素比较字符串、列表、元组
  • 注意

    • in 在对 字典 操作时,判断的是 字典的键
    • innot in 被称为 成员运算符
Last modification:August 3rd, 2020 at 05:15 pm
If you think my article is useful to you, please feel free to appreciate