zoukankan      html  css  js  c++  java
  • [Python]字典Dictionary、列表List、元组Tuple差异化理解

    概述:Python中这三种形式的定义相近,易于混淆,应注意区分.

    aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
    aList=[1,2,3,4,5]
    aTuple=(1,2,3,4,5)
    

    一、字典Dictionary

    语法形式:aDict={'a':1, 'b':2, 'c':3, 'd':4, 'e':5}
    Python手册说明:https://docs.python.org/2.7/library/stdtypes.html#dict

    • Dictionary是Python内置数据类型,定义了"键-值"间的一一对应关系。
    • 每个元素都是key-value对,整个元素集合用大括号扩起来。
    • 可通过key获取对应值,但不能根据value获取key。
    • key不能相同,相同key则将覆盖就值。
    • key大小写敏感,value可支持任意数据类型(字符串、整数、对象或其他Dictionary)。
    • del可通过key删除字典中特定元素del dict[k]
    • clear将清空字典中所有元素,空的大括号表示没有元素的字典。

    二、列表List

    语法形式:aList=[1,2,3,4,5]

    • List中元素是可变的。
    • List是使用中括号括起来的有序元素集合。
    • List列表索引从0开始。
    • 负数索引表示从List的尾部开始向前存取元素,list[-1]表示最后一个元素,可以理解list[-n]=list[len(list)-n]
    • List[m:n]表示List中m<=k<n的子集,被称为slice,详见手册
    • List[:]返回与List中元素相同的一个新list,List[1:]取1-len(List)中所有元素
    • List列表方法:insert()插入新的元素,append()在尾部追加新元素、列表,extend()将一个列表扩展到原列表中,index()返回首个出现的元素索引,k in list返回是否存在
    • List可通过+连接两个列表,等价于list.extend(anotherList)。
    • List中元素可以相同

    三、元组Tuple

    语法形式:aTuple=(1,2,3,4,5)

    • Tuple元组是不可变的List,不能改变元组中的元素值。
    • 创建Tuple的形式与List相同,区别在于将[]换为()。
    • Tuple元组没有append、extend、remove、pop、index等方法,但可使用in判断元素是否存在。
    • 空元组可以用()表示,但只有一个元素的元组为避免歧义应当使用(n,)表示,而避免只用(n)的形式,Python可能误解为加了小括号的数字n。
    • 列表和元组的相互转化:atuple=tuple(alist)alist=list(atuple)
    • 无关闭分隔符:任何以逗号分隔的无符号对象都认为是元组,如x,y = 1,2print "Value of x,y:", x, y
    • Tuple好处:速度比List快,代码安全。

    Python元组包含了以下内置函数:

    1、cmp(tuple1, tuple2):比较两个元组元素。
    2、len(tuple):计算元组元素个数。
    3、max(tuple):返回元组中元素最大值。
    4、min(tuple):返回元组中元素最小值。
    5、tuple(seq):将列表转换为元组。
    

    参考文献

    1. Python list、tuple、dict区别
    2. Python中的List,Tuple和Dictionary
    3. Python 元组(Tuple)操作详解
    4. Python tuple 元组详解
  • 相关阅读:
    单步调试理解webpack里通过require加载nodejs原生模块实现原理
    webpack打包过程如何调试?
    django-数据库之连接数据库
    django-模板之include标签(十五)
    django-模板之静态文件加载(十四)
    django-模板之过滤器Add(十三)
    django-模板之with标签(十二)
    django-模板之for empty(十一)
    django-模板之if语句(九)
    django-模板之自动转义autoescape(八)
  • 原文地址:https://www.cnblogs.com/xfiver/p/5189986.html
Copyright © 2011-2022 走看看