• python全栈闯关--7-1、基础数据类型汇总


    1、str

    s = ' '
    print(s.isspace())  # 如果字符串全是空格返回True

    2、在循环一个列表时,最好不要删除列表中的元素

    删除列表元素,得到的结果,往往不是预期的

    例子1:

    lis = [11, 22, 33, 44, 55]
    # 循环开始后,按照索引递增,删除了前面的值,不会处理列表索引的位置
    # 虽然没有报错,但是不是想要的结果
    for i in lis:
        print("目前删除元素值为:%d " % i)
        print("值删除前:")
        print(lis)
        lis.remove(i)
        print("值删除后:")
        print(lis)
    
    # 目前删除元素值为:11
    # 值删除前:
    # [11, 22, 33, 44, 55]
    # 值删除后:
    # [22, 33, 44, 55]
    # 目前删除元素值为:33
    # 值删除前:
    # [22, 33, 44, 55]
    # 值删除后:
    # [22, 44, 55]
    # 目前删除元素值为:55
    # 值删除前:
    # [22, 44, 55]
    # 值删除后:
    # [22, 44]

    例子2:

    # 按照列表的长度删除,由于删除值后,列表的长度变化,删除到索引不存在时,报错
    lis = [11, 22, 33, 44, 55]
    for i in range(len(lis)):
        print(i)     # i = 0              i = 1           i = 2        i = 3
        del lis[i]
        print(lis)   # [22, 33, 44, 55]   [22, 44, 55]    [22, 44]     报错索引值超出范围

    循环开始后,由于索引值一直增加,同时列表的长度变化。导致读取到的值,不是预期想要的,甚至报错

    列表长度动态变化下,如何删除其中的值呢?

    # 每隔一个元素,删除一个值
    # 方法一:切片
    lis = [11, 22, 33, 44, 55]
    s = lis[::2]
    print(s)
    
    # 方法二:循环
    lis = [11, 33, 33, 22, 33, 22, 33, 44, 55]
    rs = []
    index = 0
    for i in lis:
        if index % 2 == 1:
            rs.append(i)
        index += 1
    print(rs)
    
    lis = [11, 22, 33, 44, 55]
    for i in range(len(lis) - 1, -1, -1):
        if i % 2 == 1:
            print(i)
            del lis[i]
            print(lis)

    3、指向通一内存的列表,其中一个值变了,所有的值都会改变

    l1 = []
    l2 = l1
    l3 = l1
    
    l3.append('a')
    print(l1,l2,l3)
    
    # ['a'] ['a'] ['a']

    4、动态删除字典中,键值未key的值

    # 方法一:新建字典,添加到新字典
    dic = {'k1': 'v1', 'k2': 'v2', 'a3': 'v3'}
    dic1 = {}
    for i in dic:  # 默认获取的是键值
        if 'k' not in i:
            dic1.setdefault(i, dic[i])
            # dic1[i] = dic[i]
    dic = dic1
    print(dic)
    # 方法二:先获取需要删除的键值,在按照键值删除
    dic = {'k1': 'v1', 'k2': 'v2', 'a3': 'v3'}
    k_list = []
    for i in dic:
        if 'k' in i:
            k_list.append(i)
    for k in k_list:
        del dic[k]
    print(dic)

    5、bool值为false

    转换位bool值后为false:0 ''  [] () {} set()
    print(bool(0))
    print(bool(''))
    print(bool([]))
    print(bool(()))
    print(bool({}))
    print(bool(set()))

    6、元祖只有一个元素

    元祖  如果元祖里面只有一个元素且不加,那此元素是什么类型,就是什么类型。

    tu1 = (1)
    tu2 = (1,)
    print(tu1, type(tu1))  # int
    print(tu2, type(tu2))  # tuple
    
    tu1 = ([1, 2, 3])
    tu2 = ([1, 2, 3],)
    print(tu1, type(tu1))  # list
    print(tu2, type(tu2))  # tuple

    7、字典的fromkeys方法

    dic = dict.fromkeys([1, 2, 3, ], 'beer')   # {1: 'beer', 2: 'beer', 3: 'beer'}
    dic[1] = 1
    print(dic)  # {1: 1, 2: 'beer', 3: 'beer'}
  • 相关阅读:
    The type new View.OnClickListener(){} must implement the inherited abstract method View.Onclicklis
    vue开发环境跨域
    浅析deep深度选择器
    模块化
    highlight-current-row无效的解决方法
    element-ui的table 在页面缩放时,出现的问题
    css变量
    节流和防抖
    promise详解
    正则表达式详解
  • 原文地址:https://www.cnblogs.com/zxw-xxcsl/p/11579178.html
Copyright © 2020-2023  润新知