zoukankan      html  css  js  c++  java
  • 阶段一Python核心编程:数据序列之集合、公共操作009

    课程:集合

    目标

    • 创建集合
    • 集合数据的特点
    • 集合的常见操作
    阶段一Python核心编程:数据序列之集合、公共操作009

     

     

    一. 创建集合

    创建集合使用{}或set(), 但是如果要创建空集合只能使用set(),因为{}用来创建空字典。

    s1 = {10, 20, 30, 40, 50}
    print(s1)
    
    s2 = {10, 30, 20, 10, 30, 40, 30, 50}
    print(s2)
    
    s3 = set('abcdefg')
    print(s3)
    
    s4 = set()
    print(type(s4))  # set
    
    s5 = {}
    print(type(s5))  # dict

    特点:

    集合可以去掉重复数据;

    集合数据是无序的,故不支持下标

    二. 集合常见操作方法

    2.1 增加数据

    • add()
    s1 = {10, 20}
    s1.add(100)
    s1.add(10)
    print(s1)  # {100, 10, 20}

    因为集合有去重功能,所以,当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作。

    • update(), 追加的数据是序列。
    s1 = {10, 20}
    # s1.update(100)  # 报错
    s1.update([100, 200])
    s1.update('abc')
    print(s1)

    2.2 删除数据

    • remove(),删除集合中的指定数据,如果数据不存在则报错。
    s1 = {10, 20}
    
    s1.remove(10)
    print(s1)
    
    s1.remove(10)  # 报错
    print(s1)
    • discard(),删除集合中的指定数据,如果数据不存在也不会报错。
    s1 = {10, 20}
    
    s1.discard(10)
    print(s1)
    
    s1.discard(10)
    print(s1)
    • pop(),随机删除集合中的某个数据,并返回这个数据。
    s1 = {10, 20, 30, 40, 50}
    
    del_num = s1.pop()
    print(del_num)
    print(s1)

    2.3 查找数据

    • in:判断数据在集合序列
    • not in:判断数据不在集合序列
    s1 = {10, 20, 30, 40, 50}
    
    print(10 in s1)
    print(10 not in s1)

    三. 总结

    • 创建集合有数据集合s1 = {数据1, 数据2, ...}无数据集合s1 = set()
    • 常见操作增加数据add()update()删除数据remove()discard()


    课程:公共操作

    目标

    • 运算符
    • 公共方法
    • 容器类型转换

    一. 运算符

    运算符

    描述

    支持的容器类型

    +

    合并

    字符串、列表、元组

    *

    复制

    字符串、列表、元组

    in

    元素是否存在

    字符串、列表、元组、字典

    not in

    元素是否不存在

    字符串、列表、元组、字典

    1.1 +

    # 1. 字符串 
    str1 = 'aa'
    str2 = 'bb'
    str3 = str1 + str2
    print(str3)  # aabb
    
    
    # 2. 列表 
    list1 = [1, 2]
    list2 = [10, 20]
    list3 = list1 + list2
    print(list3)  # [1, 2, 10, 20]
    
    # 3. 元组 
    t1 = (1, 2)
    t2 = (10, 20)
    t3 = t1 + t2
    print(t3)  # (10, 20, 100, 200)

    1.2 *

    # 1. 字符串
    print('-' * 10)  # ----------
    
    # 2. 列表
    list1 = ['hello']
    print(list1 * 4)  # ['hello', 'hello', 'hello', 'hello']
    
    # 3. 元组
    t1 = ('world',)
    print(t1 * 4)  # ('world', 'world', 'world', 'world')

    1.3 in或not in

    # 1. 字符串
    print('a' in 'abcd')  # True
    print('a' not in 'abcd')  # False
    
    # 2. 列表
    list1 = ['a', 'b', 'c', 'd']
    print('a' in list1)  # True
    print('a' not in list1)  # False
    
    # 3. 元组
    t1 = ('a', 'b', 'c', 'd')
    print('aa' in t1)  # False
    print('aa' not in t1)  # True

    二. 公共方法

    函数

    描述

    len()

    计算容器中元素个数

    del 或 del()

    删除

    max()

    返回容器中元素最大值

    min()

    返回容器中元素最小值

    range(start, end, step)

    生成从start到end的数字,步长为 step,供for循环使用

    enumerate()

    函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

    2.1 len()

    # 1. 字符串
    str1 = 'abcdefg'
    print(len(str1))  # 7
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    print(len(list1))  # 4
    
    # 3. 元组
    t1 = (10, 20, 30, 40, 50)
    print(len(t1))  # 5
    
    # 4. 集合
    s1 = {10, 20, 30}
    print(len(s1))  # 3
    
    # 5. 字典
    dict1 = {'name': 'Rose', 'age': 18}
    print(len(dict1))  # 2

    2.2 del()

    # 1. 字符串
    str1 = 'abcdefg'
    del str1
    print(str1)
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    del(list1[0])
    print(list1)  # [20, 30, 40]

    2.3 max()

    # 1. 字符串
    str1 = 'abcdefg'
    print(max(str1))  # g
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    print(max(list1))  # 40

    2.4 min()

    # 1. 字符串
    str1 = 'abcdefg'
    print(min(str1))  # a
    
    # 2. 列表
    list1 = [10, 20, 30, 40]
    print(min(list1))  # 10

    2.5 range()

    # 1 2 3 4 5 6 7 8 9
    for i in range(1, 10, 1):
        print(i)
    
    # 1 3 5 7 9
    for i in range(1, 10, 2):
        print(i)
    
    # 0 1 2 3 4 5 6 7 8 9
    for i in range(10):
        print(i)

    注意:range()生成的序列不包含end数字。

    2.6 enumerate()

    • 语法
    enumerate(可遍历对象, start=0)

    注意:start参数用来设置遍历数据的下标的起始值,默认为0。

    • 快速体验
    list1 = ['a', 'b', 'c', 'd', 'e']
    
    for i in enumerate(list1):
        print(i)
    
    for index, char in enumerate(list1, start=1):
        print(f'下标是{index}, 对应的字符是{char}')

    三. 容器类型转换

    3.1 tuple()

    作用:将某个序列转换成元组

    list1 = [10, 20, 30, 40, 50, 20]
    s1 = {100, 200, 300, 400, 500}
    
    print(tuple(list1))
    print(tuple(s1))

    3.2 list()

    作用:将某个序列转换成列表

    t1 = ('a', 'b', 'c', 'd', 'e')
    s1 = {100, 200, 300, 400, 500}
    
    print(list(t1))
    print(list(s1))

    3.3 set()

    作用:将某个序列转换成集合

    list1 = [10, 20, 30, 40, 50, 20]
    t1 = ('a', 'b', 'c', 'd', 'e')
    
    print(set(list1))
    print(set(t1))

    注意:

    1. 集合可以快速完成列表去重
    2. 集合不支持下标

    四. 总结

    • 运算符+in / not in
    • 公共方法len()del()range()enumerate()
    • 数据类型转换tuple()list()set()

     Python学习资料与视频加Q裙:1135960211群文件自取还有大神在线指导交流哦

  • 相关阅读:
    备忘asp.net core使用中间件实现IP白名单访问
    Unity asp.net 依赖注入框架Unity
    linunx命令学习_文件命令
    Css中的属性选择器
    Html页基础代码
    JSX简介
    Js对象与Json字符串的互转
    React中的函数式组件和类组件
    win文件夹上右键后以xx打开
    Java中的泛型1_泛型的概念
  • 原文地址:https://www.cnblogs.com/12345ai/p/14523352.html
Copyright © 2011-2022 走看看