美文网首页
011-公共方法

011-公共方法

作者: 小D修行笔记 | 来源:发表于2022-07-28 06:16 被阅读0次

    \color{red}{+、*、in、not } \color{red}{in、len、del、max、min、range、enumerate、推导式}

    +

    • 合并
    • 字符串、列表、元组

    字符串 +

    字符串1 + 字符串2

    # 字符串 +
    str1 = 'aa'
    str2 = 'bb'
    print(str1 + str2)
    

    输出结果

    aabb
    

    列表 +

    列表1 + 列表2

    # 列表 +
    list1 = ['aa', 'bb']
    list2 = ['cc', 'dd']
    print(list1 + list2)
    

    输出结果

    ['aa', 'bb', 'cc', 'dd']
    

    元组 +

    元组1 + 元组2

    # 元组 +
    tuple1 = (10, 20)
    tuple2 = (30, 40)
    print(tuple1 + tuple2)
    

    输出结果

    (10, 20, 30, 40)
    

    *

    • 复制
    • 字符串、列表、元组

    字符串 *

    字符串 * num(num为复制的次数)

    str1 = 'a'
    print(str1 * 5)
    

    输出结果

    aaaaa
    

    列表 *

    列表 * num(num为复制的次数)

    # 列表 *
    list1 = ['aa', 'bb']
    print(list1 * 5)
    

    输出结果

    ['aa', 'bb', 'aa', 'bb', 'aa', 'bb', 'aa', 'bb', 'aa', 'bb']
    

    元组 *

    元组 * num(num为复制的次数)

    # 元组 *
    tuple1 = (10, 20)
    print(tuple1 * 5)
    

    输出结果

    (10, 20, 10, 20, 10, 20, 10, 20, 10, 20)
    

    in 和not in

    元素 in 字符串(列表、元组、字典)
    元素 not in 字符串(列表、元组、字典)

    • 元素是否在序列中
    • 字符串、列表、元组、集合

    字符串、列表、元组 in 和not in

    # 字符串
    st1 = 'abcd'
    print('a' in str1)
    print('a' not in str1)
    
    # 列表
    list1 = ['a', 'b', 'c', 'd']
    print('a' in list1)
    print('a' not in list1)
    
    # 元组
    tuple1 = ('a', 'b', 'c', 'd')
    print('a' in tuple1)
    print('a' not in tuple1)
    

    输出结果

    True
    False
    True
    False
    True
    False
    

    字典 in 和not in

    # 字典 字典判断的in和not in相当云dict.keys
    dict1 = {'name': 'Tom', 'age': 18, 'gender': '男'}
    # key
    print('name' in dict1)  # dict1相当于dict1.keys()
    print('name' not in dict1)
    # value
    print('Tom' in dict1.values())
    print('Tom' not in dict1.values())
    # tuple
    print(('name', 'Tom') in dict1.items())
    print(('name', 'Tom') not in dict1.items())
    

    输出结果

    True
    False
    True
    False
    True
    False
    

    len

    len(字符串、列表、元组、集合、字典)

    • 统计序列的长度,即元素的个数
    # 字符串
    str1 = 'abcd'
    print(len(str1))
    # 列表
    list1 = ['a', 'b', 'c', 'd', 'e']
    print(len(list1))
    # 元组
    tuple1 = ('a', 'b', 'c')
    print(len(tuple1))
    # 集合
    set1 = {10, 20, 30}
    print(len(set1))
    # 字典
    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
    print(len(dict1))
    

    输出结果

    4
    5
    3
    3
    3
    

    del

    del 字符串、列表、元组、集合、字典 # 删除整个序列
    del 字符串[下标]、列表[下标]、元组[下标]、字典[key] # 删除序列中的一个元素

    • 删除一个序列或删除序列中的一个元素

    删除序列

    # del 删除序列或序列中的一个元素
    str1 = 'abc'
    del str1
    print(str1) # del删除字符串后,字符串就不存在了,报错
    

    输出结果

    Traceback (most recent call last):
      File "/Users/apple/Desktop/code/016-公共方法.py", line 88, in <module>
        print(str1)
    NameError: name 'str1' is not defined
    

    删除一个元素

    list1 = [10, 20, 30, 40]
    print(list1)
    del list1[1]
    print(list1)
    

    输出结果

    [10, 20, 30, 40]
    [10, 30, 40]
    

    max 和 min

    max(序列)
    min(序列)

    • max 返回容器中的最大值
    • min 返回容器中的最小值
    # max和min
    list1 = [10, 20, 30, 40]
    print(max(list1))
    print(min(list1))
    

    输出结果

    40
    10
    

    range

    range(start,end,step)

    • 生成从start到end的数字列表,步长为step,供for循环使用
    • step可以不写,默认为1
    • start可以不写,默认为0
    • 生成的序列不包含end
    # range
    for i in range(1, 10, 1):
        print(i, end=' ')
    print()
    for i in range(1, 10):
        print(i, end=' ')
    print()
    for i in range(10):
        print(i, end=' ')
    print()
    

    输出结果

    1 2 3 4 5 6 7 8 9 
    1 2 3 4 5 6 7 8 9 
    0 1 2 3 4 5 6 7 8 9
    

    enumerate

    enumerate(可遍历对象,start = 开始索引)

    • 将一个可遍历的数据对象组合成一个索引序列,同时列出数据和数据下标,一般在for循环中使用
    # enumerate
    list1 = ['a', 'b', 'c', 'd']
    for i in enumerate(list1):
        print(i)
    for i in enumerate(list1, 1):
        print(i)
    for key, value in enumerate(list1):
        print(f'{key} = {value}')
    

    输出结果

    (0, 'a')
    (1, 'b')
    (2, 'c')
    (3, 'd')
    (1, 'a')
    (2, 'b')
    (3, 'c')
    (4, 'd')
    0 = a
    1 = b
    2 = c
    3 = d
    

    推导式

    列表推导式

    • 用一个表达式创建一个有规律的列表或控制一个有规律的列表
    • 列表推导式,又叫列表生成式
    使用while循环,创建一个列表
    # while循环创建一个列表
    i = 0
    list1 = []
    while i < 10:
        list1.append(i)
        i += 1
    print(list1)
    

    输出结果

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    for循环创建列表
    # for循环创建列表
    list1 = []
    for i in range(10):
        list1.append(i)
    print(list1)
    

    输出结果

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    简单的列表推导式
    • 列表推导式就是for循环创建列表的简写形式

    [i for i in range(开始,结束,步长)]

    # 列表推导式
    list1 = [i for i in range(1, 10, 2)]
    print(list1)
    

    输出结果

    [1, 3, 5, 7, 9]
    
    带if的列表推导式
    # 带if的列表推导式
    list1 = [i for i in range(1, 10) if i % 2 != 0]
    print(list1)
    

    输出结果

    [1, 3, 5, 7, 9]
    
    多个for的列表推导式
    # 多for列表多推导式
    list1 = [(i, j) for i in range(2) for j in range(3)]
    print(list1)
    

    输出结果

    [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2)]
    

    字典推导式

    • 快速生成字典
    • 可以根据一个变量生成字典,也可以将两个列表合成一个字典
    简单的字典推导式
    # 字典推导式
    dict1 = {key: key ** 2 for key in range(1, 4)}
    print(dict1)
    

    输出结果

    {1: 1, 2: 4, 3: 9}
    
    合并两个列表为一个字典推导式
    • 如果两个字典长度不一致,应选取长度小的
    • 长度不一致,选取长的,会报错处理
    # 将两个列表,合并为一个字典
    list1 = ['name', 'age', 'gender']
    list2 = ['Tom', 20, '男']
    dict1 = {list1[i]: list2[i] for i in range(len(list1))}
    print(dict1)
    

    输出结果

    {'name': 'Tom', 'age': 20, 'gender': '男'}
    
    提取字典中的数据
    # 提前字典中的目标数据
    dict1 = {'TianJin': 87, 'BeiJing': 112, 'ShangHai': 143, 'Shenzhen': 156, 'HeBei': 89}
    dict2 = {key: value for key, value in dict1.items() if value >= 100}
    print(dict2)
    

    输出结果

    {'BeiJing': 112, 'ShangHai': 143, 'Shenzhen': 156}
    

    集合推导式

    • 集合有去重的特性
    # 集合推导式
    list1 = [1, 2, 3, 4, 3, 2, 1]
    set1 = {i for i in list1}
    print(set1)
    set1 = {i ** 2 for i in list1}
    print(set1)
    

    输出结果

    {1, 2, 3, 4}
    {16, 1, 4, 9}
    

    相关文章

      网友评论

          本文标题:011-公共方法

          本文链接:https://www.haomeiwen.com/subject/dgxgirtx.html