zoukankan      html  css  js  c++  java
  • list、tuple、dict、set、map

    list

    • Python内置的一种数据类型是列表。

    • list是一种有序的集合,可以随时添加和删除其中的元素。

    # 创建list
    classmate = ['micheal', 'Bob', 'Tracy']
    
    #打印长度
    len(classmate)
    
    #访问其中的元素
    classmate[0]
    classmate[-1]
    
    # 向指定位置插入元素
    classmate.insert(1, 'Jack')
    
    #删除list尾部的元素
    classmate.pop()
    
    #删除list指定位置的元素
    classmate.pop(1)
    
    #list中的元素的类型可以不同
    L = ['Apple', 123, True]
    
    #list中可以有另一个list
    s = ['python', 'java', ['asp', 'php'], 'scheme']
    #或者
    p =  ['asp', 'php']
    s = ['python', 'java', p, 'scheme']
    

    tuple

    • 另一种有序列表叫元组:tuple。

    • tuple一旦初始化就不能再修改

    • 因为tuple不可变,所以代码更安全,没有append、insert这样恩方法。

    • 元素获取的方法和list相同。

    • 如果可能,能用tuple的地方尽量不实用list。

    #定义tuple
    t = (1, 2)
    #定义空tuple
    t = ()
    
    #只有一个元素的tuple,必须加 ,!!!!
    t = (1, )
    
    #可变的tuple
    t = ('a', 'b', ['A', 'B'])
    t[2][0]='X'
    t[2][1]='Y'
    

    dict

    • dict:字典,全程dictionary,其他语言中也叫做map

    • 存储方式为:key-value,键值对的方式。

    • key不允许重复,否则,后定义的值会覆盖前面定义的值

    # 定义一个dict
    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    
    # 添加元素
    d['Adam'] = 67
    
    # 判断key是否存在
    'Tomas' in d
    
    # 如果不存在,则返回null
    d.get('Thomas')
    # 如果不存在,则返回-1
    d.get('Thomas', -1)
    
    # 删除一个元素
    d.pop('Micheal')
    
    • 和list相比,1)dict查找和插入速度很快,不会随着key的增加而增加。2)需要占用大量的内存。

    • 这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。


    set

    • 不能重复的list。

    • 创建一个set,需要一个list作为输入集合。

    # 创建一个set
    s = set([1, 1, 2, 2, 3, 3])
    
    # 添加元素
    s.add(key)
    
    # 删除元素
    s.remove(key)
    
    # set可以看成是集合
    s1 = set([1, 2, 3])
    s2 = set([2, 3, 4])
    # 集合的交集
    s1 & s2
    # 集合的并集
    s1 | s2
    

    不可变对象

    • 对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。
  • 相关阅读:
    imx6 关闭调试串口
    imx6 Image Vector Table (IVT)
    imx6 DDR_Stress_Test
    java安装1.8和1.7,报错:Error: Registry key 'SoftwareJavaSoftJava Runtime Environment'CurrentVers
    maven安装与环境变量配置
    14.商品添加功能
    MyBatis 接口的使用
    MyBatis 的缓存机制
    MyBatis 别名标签 & sql的复用
    MyBatis 多表查询
  • 原文地址:https://www.cnblogs.com/milkcoffeesugar/p/5734107.html
Copyright © 2011-2022 走看看