python_08 字典 元组

1、元组(tuple)

元组是容器级数据类型;

将()作为容器的标志,里面多个元素用逗号隔开:(数据1,数据2,数据3……)

元组不可变的(不支持增、删、改);元组是由序的(支持下标操作)

任何类型数据都可以作为元组的元素

使用场景:如果希望同时保存多个数据,并且要求数据保存只能使用不能修改,就使用元组。

1) 空元组
t1 = ()
print(type(t1))
print(t1)
2) 单个元素的元组:(元素,)

单个元素的元组中,唯一的元素后面必须添加逗号

t2 = (18,)
print(type(t2))
print(t2)
3)元组中由多个元素
t3 = (23,'abc',1.23)
print(t3)            (23, 'abc', 1.23)

在没有歧义的情况下,元组的()可以省略

t4 = 10,20,30
print(t4)
print(type(t4))

(10, 20, 30)
<class 'tuple'>

元素是不可变的列表

列表中的所有和可变无关的操作元组都支持:比如:查 、相关操作、相关函数、和可变无关的相关方法(copy 例外)

t1=(10,29,78,67,34)
print(t1[0],t1[3])
print(t1[1:4])

10 67
(29, 78, 67)

2、字典

1、列表和字典的选择问题

如果同时保存的多个数据的意义相同就使用列表

如果同时保存的多个数据的意义不同就使用字典(因为字典键的的存在可以对值进行区分、注解和说明)

2、什么是字典

字典是容器型数据类型;

将{ }作为容器的标准,里面多个键值(键:值)对用逗号隔开:{键1:值1,键2:值2,键3:值3,……)

字典是可变的(支持增、删、减);字典是无序的(不支持下标操作)

字典对元素的要求:元素必须是键值对

键 —— 只有不可变的类型的数据才可以作为字典 (元组 、字符串、数字),一般使用字符串;键是唯一的,值是没有要求

3、空字典
d1 = {}
print(d1)

\1) 键必须是不可变类型的数据

d1={10:20,"abc":30,(1,2):40}
print(d1)
d1={10:20,"abc":30,[1,2]:40}
print(d1)

\2) 键是唯一的:

d1={"a":10,"b":20,"c":30}
print(d1)
d1={"a":10,"b":20,"c":30,"a":100}
print(d1)

3、查 —— 获取字典某一个值

1) 字典(键) — 获取字典中指定键对应的值

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1['name'])    # Tom
print(dict1['age'])     # 20
print(dict1['id'])      # 没有id对应的键,系统会报错

    print(dict1['id'])
KeyError: 'id'

2)字典.get(键)— 获取字典中指定键对应的值,如果键不存在不会报错,返回None

字典.get(键,默认值) — 获取字典中指定键对应的值,如果键不存在不会报错,返回默认值

字典序列.get(key, 默认值)

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
print(dict1.get('name'))  # Tom
print(dict1.get('id', 110))  # 110
print(dict1.get('id'))  # None

3、字典遍历

for 变量 in 字典:

循环体

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for i in dict1:
    print(i)
    print(i,dict1[i])
name Tom
age 20
gender 男

4、增、改

字典[ 键 ] = 值 — 如果键存在就修改指定键对应的值,如果键不存在就添加键值对

goods={'name':'蛋黄粽子','price':9,'weight':300 }
goods['price']=6
print(goods)
# {'name': '蛋黄粽子', 'price': 6, 'weight': 300}
goods['count']=10
print(goods)
# {'name': '蛋黄粽子', 'price': 6, 'weight': 300, 'count': 10}

字典.setdefault(键、值) —— 添加键值对(如果键已经存在了,不会取修改键的值)

goods_list=[
    {'name':'蛋黄粽子','price':9,'weight':300,'discount':'0.8'},
    {'name':'红豆粽子','price':'6','weight':'300',},
    {'name':'腊肉粽子','price':'8','weight':'300','discount':'0.8'},
    {'name':'白粽子','price':'3','weight':'300'}
            ]
for i in goods_list:
    i.setdefault('discount',1)
print(goods_list)

[{'name': '蛋黄粽子', 'price': 9, 'weight': 300, 'discount': '0.8'}, 
{'name': '红豆粽子', 'price': '6', 'weight': '300', 'discount': 1}, 
{'name': '腊肉粽子', 'price': '8', 'weight': '300', 'discount': '0.8'}, 
{'name': '白粽子', 'price': '3', 'weight': '300', 'discount': 1}]

5、删

del 字典[ 键 ] —— 删除指定键对应的键值对

字典.pop( 键 ) —— 取出指定键对应的值

goods={'name':'蛋黄粽子','price':9,'weight':300,'discount':'0.8'}
del goods['discount']
print(goods)

result = goods.pop('weight')
print(result)
print(goods)

{'name': '蛋黄粽子', 'price': 9, 'weight': 300}
300
{'name': '蛋黄粽子', 'price': 9}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值