python基础(part8)--容器类型之元组和字典

鄙人学习笔记
开发工具:Spyder



元组

定义

元祖是由一系列变量组成的不可变序列容器。
备注:不可变是指一但创建,不可以再添加/删阵。

基本操作

创建空元祖和有默认值的元组

代码:

t01 = ()
t02 = tuple()
print(t01, '\n', t02)
print('--------------')
#创建具有默认值的元组
t01 = (1, 2, 3)
t02 = tuple("abc")
t03 = (1, 2, [3, 4])
print(t01, '\n', t02, '\n', t03)   

控制台输出:

修改及获取

元祖是不可变序列容器,虽然元祖元素不可变,但是元组内引用对象内的元素可以变。

代码(改变元祖元素):

t01 = (1, 2, [3, 4])
t01[1] = 100

控制台输出:

报错了呢~

代码(改变元组内引用对象内的元素):


t01 = (1, 2, [3, 4])
t01[2][0] = 100
print(t01)

控制台输出:

作用

①元组与列表都可以存储一系列变量,但是由于列表会预留内存空间,所以可以增加元素。
②元组会按需分配内存,所以如果变量数量固定,建议使用元组,因为通常占用空间更小。

字典

定义

字典是一种可变容器模型,且可存储任意类型对象。
字典的每个键值对key=>value 用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 。

  • 格式
{key1 : value1, key2 : value2 }

基本操作

创建空字典和有初始值的字典

代码:

#创建空字典
d01 = {}
d02= dict()
print(d01, '\n', d02)
print('--------------')

#创建有初始值的字典
d01 = {"A":1,"B":2}
d02 = dict([("C", 3), ("D", 4)])
print(d01, '\n', d02)

控制台输出:

增加,修改,读取,删除

代码:

d01 = {"A":1,"B":2}

#增加
d01["C"] = 3
print(d01)

#修改
d01["A"] = 10
print(d01)

#读取
#若字典中没有"B"这个key则会报错,所以最好先进行判断
if "B" in d01:
    print(d01["B"])

#删除
del d01["B"]
print(d01)

控制台输出:

获取字典中的键和值

代码:

d01 = {"A":1,"B":2, "C":3}

for item in d01.items():
    print(item[0],"-",item[1])

print("--------------")
    
for key,value in d01.items():
    print(key, "-", value)

控制台输出:

字典推导式

  • 语法
{:值的表达式 for,in 可迭代对象 if 条件}
  • 例子

代码:

d01 = {item:item**2 for item in range(1, 10) if item % 2 == 0}

print(d01)

结果:

案例

代码:

list01 = ["小黄", "大白", "奥尼尔"]
list02 = [2, 4, 6]
list03 = [("A", 1), ("B", 2), ("C", 3)]

d01 = {list01[i]:list02[i] for i in range(len(list01))}
d02 = {key:value for key,value in list03}

print(d01)
print(d02)

结果:

发布了116 篇原创文章 · 获赞 22 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/105092324
今日推荐