zoukankan      html  css  js  c++  java
  • python数据类型之基础进阶

    一: 解构

    1.1 结构字符串

    • 变量和字符个数必须严格一致
    name = 'wc'
    a,b=name
    print(a)
    print(b)
    # w
    # c
    name = 'w'
    a,b=name
    print(a)
    print(b)
    #ValueError: not enough values to unpack (expected 2, got 1)
    name = 'wangys'
    a,b=name
    print(a)
    print(b)
    # ValueError: too many values to unpack (expected 2)

    1.2 元祖

    • 变量和元素个数必须严格一致
    name = ('wangys',18)
    a,b=name
    print(a)
    print(b)
    # wangys
    # 18

    1.3 列表

    name = ['wangys',18]
    a,b=name
    print(a)
    print(b)
    #wangys
    # 18
     

    1.4 字典

    name = {'name': 'wangys','age':18}
    a,b=name
    print(a)
    print(b)
    #name
    # age
    name = {'name': 'wangys','age':18}
    for a,b in name.items():
        print(a,b)
    # name wangys
    # age 18

    二 深浅拷贝

    2.1 直接赋值,操作的是同一个对象

    a = [1,2,3]
    b = a
    a.append(4)
    print(b)
    # [1, 2, 3, 4]

    2.2 浅拷贝

    • 只是拷贝的第一级元素,二级元素共享
    • 方法 [:]  .copy()
    a = [1,2,3,['wangys']]
    b = a[:]
    a[3].append('mengsx')
    print(b)
    # [1, 2, 3, ['wangys', 'mengsx']]
    a = [1,2,3,['wangys']]
    b = a.copy()
    a[3].append('mengsx')
    print(b)

    2.3 深拷贝

    • 整体拷贝(所有相关的,完全是另外一个对象)
    • copy模块的deepcopy函数
    import copy
    a = [1,2,3,['wangys']]
    b = copy.deepcopy(a)
    a[3].append('mengsx')
    print(b)
    # [1, 2, 3, ['wangys']]
  • 相关阅读:
    c_hhc_互补二元组(延迟计数+简单公式变换)
    b_vj_Hamiltonian Cycle(记忆化+位运算各种技巧)
    b_lq_分考场(尽量安排到旧考场)
    线程停止
    Lambda表达式
    静态代理演示
    多线程模拟龟兔赛跑
    Runnable和Thread
    线程网图下载
    接口
  • 原文地址:https://www.cnblogs.com/wc89/p/10702518.html
Copyright © 2011-2022 走看看