python数据类型之字典、元组、集合

字典-dict
# dict = {key1: value1, key2: value2}
# key是唯一不可变的任意数据, 一般为字符串、数字、元组等;
# 字典是无序的。
增 改 dict[key] = value / dict1.update(dict)
# 如果key存在,则修改key的值,如果key不存在,则为新增key
d = {"name": "周周", "age": 18, "sex": "女"}
d["phone"] = 13312345678    #增加key phone
print(d)
# {'name': '周周', 'age': 18, 'sex': '女', 'phone': 13312345678}
d["sex"] = "男"      #修改key sex
print(d)
# {'name': '周周', 'age': 18, 'sex': '男', 'phone': 13312345678}

# update() 函数把字典dict2的键/值对更新到dict里
d2 = {"name": "yeye", "height": 188}
d.update(d2)
print(d)
# {'name': 'yeye', 'age': 18, 'sex': '男', 'phone': 13312345678, 'height': 188}

d.setdefault("weight", 50) # 字典没有就新增键值对
print(d)    # {'name': 'yeye', 'age': 18, 'sex': '男', 'phone': 13312345678, 'height': 188, 'weight': 50}
value = d.setdefault('age', 21)     # 字典已有key'age',不会改变key的value
print(value) # 18
查 dict[key] / dict.get(key)
print(d["name"])    # 如果key不存在,会报错
print(d.get("sex"))     # 如果key不存在,返回 None
print(d.get("一个没有的key", "返回找不到"))   # 如果key不存在,返回后面的值"返回找不到"
print(d.keys())     # 返回所有的key  dict_keys(['name', 'age', 'sex', 'phone', 'height', 'weight'])
print(d.values())   # 返回所有的value    dict_values(['yeye', 18, '男', 13312345678, 188, 50])
if "name" in d.keys():      # if "name" in d.keys():
    print("判断字典中是否有这个key")
遍历字典
# 遍历字典
for key, value in d.items():     # 可以同时把key 和value 取出来
    # 把字典的key, value 转成一个二维数组(实际上不是真的二维数组,要使用需强制转换),性能不好
    # dict_items([('name', 'yeye'), ('age', 18), ('sex', '男'), ('phone', 13312345678), ('height', 188), ('weight', 50)])
    print(key, value)
print("---------------")
for key in d:
    print(key, d.get(key))      # 性能好,保留了字典原有的特性
"""
输出结果:
name yeye
age 18
sex 男
phone 13312345678
height 188
weight 50
"""
删 pop popitem del clear
d.pop('height')     # 删除某个key,这个比较常用
print(d)    # {'name': 'yeye', 'age': 18, 'sex': '男', 'phone': 13312345678}
d.popitem()     # 返回并删除字典中的最后一对键和值。
print(d)    # {'name': 'yeye', 'age': 18, 'sex': '男'}
del d['name']   # 删除某个key
print(d)    # {'age': 18, 'sex': '男'}
d.clear()   # 清空字典
print(d)    # {}
元组-tulpe
# 元组是不可变的有序的数据类型
# 元组中的元素不可修改,不可删除,可以直接del删除整个元组
# 元组的读取与列表相似 使用索引

# tuple() 函数将列表转换为元组。
list = [1, 2, 3, 4, 5, 6]
print(tuple(list))  # (1, 2, 3, 4, 5, 6)
dict = {'name': 'ye', 'age': 18, 'sex': '男'}    # #针对字典 会返回字典的key组成的tuple
print(tuple(dict))  # ('name', 'age', 'sex')
集合-set
# 集合(set)是一个无序的不重复元素序列。
# 可以使用大括号 { } 或者 set() 函数创建集合
# 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
# 创建格式:parame = {value01,value02,...}或者set(value)
添加元素 add update
# 添加的元素 如果存在,不会重复添加,元素顺序是无序的
thisset = set(("Google", "Runoob", "Taobao"))
thisset.add("Facebook")
thisset.add("Google")
print(thisset)  # {'Facebook', 'Taobao', 'Runoob', 'Google'}

thisset.update([1, 3])
print(thisset)      # {'Taobao', 1, 3, 'Google', 'Runoob', 'Facebook'}
thisset.update([1, 4, 5], [6, "ye"])
print(thisset)      # {'Taobao', 1, 3, 4, 5, 6, 'ye', 'Google', 'Runoob', 'Facebook'}
移除 remove pop clear
thisset.remove("Facebook")  # 如果不存在,会报错
print(thisset)

# 随机移除 pop
# set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
x = thisset.pop()
print(f"移除的是{x},剩下的集合为:{thisset}")

thisset.clear()      # 清空当前集合
# 判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
thisset = set(("Google", "Runoob", "Taobao"))
if "Runoob" in thisset:     # True
    pass

if "Facebook" in thisset:   # False
    pass
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值