zoukankan      html  css  js  c++  java
  • 内建的数据结构

    列表:list

    列表list是一个可变的有序集合,可以随时添加和删除其中的元素

    1. 声明一个列表
    >>> demo=['Tom','Bob','LiLei']
    >>> print(demo)
    ['Tom', 'Bob', 'LiLei']
    
    1. 获取列表元素的个数
    >>> len(demo)
    3
    
    1. 访问某个元素
    >>> demo[0]
    'Tom'
    
    1. 访问最后一个元素
    #最后一个元素
    >>> demo[-1]
    'LiLei'
    #倒数第二个元素
    >>> demo[-2]
    'Bob'
    
    1. 添加元素
    >>> demo.append('demo1')
    >>> print(demo)
    ['Tom', 'Bob', 'LiLei', 'demo1']
    
    1. 插入指定的位置
    >>> demo.insert(1,'demo2')
    >>> print(demo)
    ['Tom', 'demo2', 'Bob', 'LiLei', 'demo1']
    
    1. 删除元素
    #删除末尾的元素
    >>> demo.pop()
    'demo1'
    #删除指定索引的元素
    >>> demo.pop(1)
    'demo2'
    
    1. 替换元素值
    >>> demo[0]='Tom1'
    >>> print(demo)
    ['Tom1', 'Bob', 'LiLei']
    
    1. list元素可以为不同的数据类型,可以是一个list
    >>> demo2 = ['Apple', 123, True]
    

    元组:tuple

    元组一旦初始化就不能修改, 这里的不能修改是指元素指向不变。

    1. 声明元组
    #声明一个元组
    demo = ('Michael', 'Bob', 'Tracy')
    #声明一个空元祖
    demo = ()
    #定义只有一个元素的元组
    demo = (1,)
    

    字典:dict

    采用键-值(key-value)存储,就是java里的map,查询效率高,时间复杂度一般都是O(1),切它是无序的

    1. 声明一个dict
    name_ageMap = {'tom':10, 'Bob':29}
    
    1. put
    name_ageMap['LiLei'] = 67
    
    1. 取值:通过key来取值
    • 方式一
    name_ageMap['tom']
    

    如果key值不存在,会报错,可以通过下面方式先判断key是否存在

    if 'tom' in name_ageMap:
        print name_ageMap['tom']
    
    • 方式二
    name_ageMap.get('tom')
    name_ageMap.get('tom1', -1)
    -1
    
    1. 删除
    name_ageMap.pop('tom')
    

    删除key为tom的键值对

    注意:dict的key必须是不可变对象,因为一旦key的状态发生变化,get时,计算哈希值发生变化,返回的可能非原value

    set

    set和dict类似,也是一组key的集合,但不存储value,不能重复,实现原理和dict相同,只是不存储value

    1. 声明
    #声明一个空set
    s = set()
    #声明一个有默认值set
    s = set([1, 2, 3])
    
    
    1. 添加
    #可以重复添加,但是不会有效果
    s.add('set')
    
    1. 删除
    s.remove('set')
    
  • 相关阅读:
    Android Studio快速导入项目
    梦断代码阅读笔记01
    Python词云生成
    Python 数据处理
    Android studio 自定义Dialog
    Android studio Activity的跳转和数据传递
    Android studio Handler消息处理2
    2.9 react组件中使用key作为prop属性命名报错
    2.3 上下margin值合并
    2.2 快速认识虚拟dom
  • 原文地址:https://www.cnblogs.com/warking/p/7250838.html
Copyright © 2011-2022 走看看