zoukankan      html  css  js  c++  java
  • 数据类型总结


    # 一int
    # 二string
    # 三list
    # 四 uple
    # 五dict
    # 六布尔值
    # 0 1
    # 哪些是假?0 None "" [] () {}


    变量记录状态
    五大数据类型:
    1. 存放名字,使用string
    2. 存放年龄,使用int
    3. 存放爱好,使用list
    4. tuple
    5. dict

    可变不可变:
    1.什么是可变不可变?
    变量存储在内存中.
    eg:name="alex"
    变量名相当于房间门牌号."alex"相当于房间里面的内容
    若在定义name="tom"
    就会有一个新房间,"tom"是新房间的内容.name所指向的门牌号也发生改变.
    通过id可以查看具体的房间地址.id(name)可以发现门牌号发生了变更.

    这就是不可变类型.修改值,需要新开辟空间,就是不可修改.
    修改变量的值,id值不变.
    2.可变: listdict
    3.不可变:string upleint

    访问顺序
    1.顺序访问, stringlist uple(有序)
    2.kv方式:dict(无序)
    3.字典的查询速度比列表快,但占用的内存高,维护映射关系.
    4.直接访问,int

    存放元素个数
    1.容器类型:list upledict,可以嵌套任意类型
    2.原子:intstring

    >>> age=11
    >>> id(age)
    7167000
    >>> age=12
    >>> id(age)
    7166976

    int 为不可变类型.

    >>> a=["alex","tom"]
    >>> id(a[0])
    140646882281152
    >>> a[0] = "lilei"
    >>> print a
    ['lilei', 'tom']
    >>> id(a[0])
    140646882281248
    >>> id(a)
    140646931275432
    >>> a[0] = "limeimei"
    >>> id(a)
    140646931275432

    list不可变.

    >>> dict={"k1":"v1","k2":"v2"}
    >>> id(dict)
    7930512
    >>> dict["k1"] = "vv1"
    >>> id(dict)
    7930512

    dict可变

  • 相关阅读:
    leetcode——832. 翻转图像
    leetcode——830. 较大分组的位置
    leetcode——1089.复写零
    leetcode——86. 分隔链表
    leetcode——387. 字符串中的第一个唯一字符
    leetcode——389. 找不同
    leetcode——61. 旋转链表
    leetcode——24. 两两交换链表中的节点
    leetcode——817. 链表组件
    leetcode——234. 回文链表
  • 原文地址:https://www.cnblogs.com/Windows-phone/p/9717704.html
Copyright © 2011-2022 走看看