Python基础-14 容器的通用操作(str-set-list-tuple)

十四、 容器的通用操作(str-set-list-tuple)

1. str-set-list-tuple四者类型间转换

- 转换函数

  • str():转换成字符串
  • list():转换成list
  • set():转换成集合
  • tuple():转换成元组

- 转换关系 (存疑,待补充)

  • list <–> tuple
  • list --> str
  • str --> list (这里是原样输出,不会进行拼接,与join(listA)不一样)
  • str --> set

2. 运算符

运算符Python 表达式结果描述支持的数据类型
+[1, 2] + [3, 4][1, 2, 3, 4]合并字符串、列表、元组
*[“Hi!”] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复字符串、列表、元组
in3 in (1, 2, 3)True元素是否存在字符串、列表、元组、字典
not in4 not in (1, 2, 3)True元素是否不存在字符串、列表、元组、字典
> >= == < <=(1, 2, 3) < (2, 2, 3)True元素比较字符串、列表、元组
【字典不能比较大小】

注意

  • in 在对 字典 操作时,判断的是 字典的键
  • innot in 被称为 成员运算符

成员运算符

成员运算符用于 测试 序列中是否包含指定的 成员

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False3 in (1, 2, 3) 返回 True
not in如果在指定的序列中没有找到值返回 True,否则返回 False3 not in (1, 2, 3) 返回 False

注意:在对 字典 操作时,判断的是 字典的键

数学运算符

\1. +:用于拼接两个容器

\2. +=:用原容器与右侧容器拼接,并重新绑定变量

\3. *:重复生成容器元素

\4. *=:用原容器生成重复元素, 并重新绑定变量

\5. < <= > >= == !=:依次比较两个容器中元素,一但不同则返回比较结果。

注意

  • 字符串 比较符合以下规则: “0” < “A” < “a”

成员运算符

\1. 语法:

数据 in 序列

数据 not in 序列

\2. 作用:

​ 如果在指定的序列中找到值,返回bool类型。

3. 索引 index

作用:定位单个容器元素。

语法:容器[整数]

说明:

正向索引从0开始,第二个索引为1,最后一个为len(s)-1。

反向索引从-1开始,-1代表最后一个,-2代表倒数第二个,以此类推,第一个是-len(s)。

4. 切片 slice

作用:

定位多个容器元素。

语法:

容器[开始索引:结束索引:步长]

说明:

结束索引不包含该位置元素

步长是切片每次获取完当前元素后移动的偏移量

开始、结束和步长都可以省略

描述Python 表达式结果支持的数据类型
切片“0123456789”[::-2]“97531”字符串、列表、元组
  • 切片 使用 索引值 来限定范围,从一个大的 字符串切出 小的 字符串
  • 列表元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
  • 字典 是一个 无序 的集合,是使用 键值对 保存数据

5. Python 内置函数

Python 包含了以下内置函数:

函数描述备注
len(item)计算容器中元素个数
即:返回序列的长度
del(item)删除变量del 有两种方式:一种是关键字,一种是函数
max(item)返回容器中元素最大值如果是字典,只针对 key 比较
min(item)返回容器中元素最小值如果是字典,只针对 key 比较
sum(item)返回序列中所有元素的和元素必须是数值类型
cmp(item1, item2)比较两个值,-1 小于/0 相等/1 大于Python 3.x 取消了 cmp 函数

6. 完整的 for 循环语法

  • Python 中完整的 for 循环 的语法如下:
for 变量 in 集合:
    
    循环体代码
else:
    没有通过 break 退出循环,循环结束后,会执行的代码

应用场景
  • 迭代遍历 嵌套的数据类型时,例如 一个列表包含了多个字典
  • 需求:要判断 某一个字典中 是否存在 指定的 值
    • 如果 存在,提示并且退出循环
    • 如果 不存在,在 循环整体结束 后,希望 得到一个统一的提示
students = [
    {"name": "阿土",
     "age": 20,
     "gender": True,
     "height": 1.7,
     "weight": 75.0},
    {"name": "小美",
     "age": 19,
     "gender": False,
     "height": 1.6,
     "weight": 45.0},
]

find_name = "阿土"

for stu_dict in students:

    print(stu_dict)

    # 判断当前遍历的字典中姓名是否为find_name
    if stu_dict["name"] == find_name:
        print("找到了")

        # 如果已经找到,直接退出循环,就不需要再对后续的数据进行比较
        break

else:
    print("没有找到")

print("循环结束")


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值