list(列表)

list本身是可更改的,list里面的元素可以是任意类型。相当于C++里面用list存放指针,指针指向不同的变量

  • C++里面list的存储方式是链表
  • python里面list的存储方式是线性表,即一块连续的空间来存储数据。删除O(n),修改访问O(1).
  • 线性表的缺点是:插入会移动整个表,新增和删除会realloc存储空间。对于大列表的新增和删除操作,可以调用C接口实现以提高效率 list的基本用法参见手册

tuple(元组)

tuple指向不可更改,(但是值可以变,例如元组中有一个list元素)

# 创建元组
# 函数参数的传递也相当于传递元组
t1 = ("v1","v2",3)

dictionary(字典)

字典定义格式如下

{"key1":value1,"key2":value2}

注意value相当于容器,可以是任意类型,而key需要计算hash,所以只能是string或Number

dic = {"name":"python", 
        "year":1991,
        "ver":3.7,
        4:5, 
        "keys":["print","for"]}
# 新增和更改
dic[4] = 6
dic["src"] = "C"
# 删除
del dic[4] # 删除下标4
dic.clear()  # 整表删除

# 判断关键字
dic["arg"] # 由于没有arg关键字,会抛出KeyError异常

我们可以捕获上述代码的KeyError异常

try:
    print(dic["arg"])
except KeyError:
    print("dic KeyError")

也可以使用if语句来判断关键字是否在字典里

if "year" in dic:
    print("key year in dic")
else:
    print("key year not in dic")
© liangqi all right reserved,powered by Gitbook文件修订时间: 2019-05-22

results matching ""

    No results matching ""