1.5 基础数据类型 -- 字典与集合


1.字典

字典是Python唯一内置的映射类型, 字典表示一个任意对象的集合, 这些对象通过键进行索引, 它的键几乎是任意类型, 它必须是不可变的数据类型, 如字符串, 整型, 元组等. 字典在Python中属于散列类型, 是可变数据类型.在操作字典时可以使用键索引运算符 : dic[key]

返回顶部


2.字典的方法
操作分类操作描述
增操作   dic[key] = value字典中没有key则添加键值对
字典中有key则修改其对应的值
dic.setdefault(key, value)设置一个key对应的键值对
dic.fromkeys(s, value)创建一个字典 字典的键分别是序列中的元素
每个键的值都是value
删操作    dic.pop(key)根据给定的键删除这个键值对
dic.popitem()python36中删除最后一个键值对
python35及以下随机删除
del dic[key]指定键来删除键值对
dic.clear()清空字典中的所有键值对
改操作  dic[key] = value给指定的键赋值, 如果这个键不存在则创建
dic.updata[d]将字典d的所有键值对跟新到dic中,
如果d中的键在dic中存在, 则更新其值, 如果不存在则直接添加
查操作      dic[key]获取指定键的值(key不存在时抛出异常)
dic.get(key[,value])获取指定键的值, 如果指定的键不存在, 不会报错, 会返回空或默认值value
dic.keys()获取字典的所有键, 返回值类似于列表, 可迭代
dic.values()获取字典的所有值, 返回值类似于列表, 可迭代
dic.items()获取字典的所有键值对,返回值类似于列表, 列表的元素由元组组成
元组第一个元素是键, 第二个元素是键对应的值
dic.has_key(key)判断字典中是否存在指定的键, 返回bool值(python3废除了, 用in成员运算符代替)

返回顶部

 1 # 创建一个字典
 2 dic ={"a":1,"b":2,"c":3,"d":4}
 
3
# 为字典增加一个键值对: "e": 5 4 dic['e']=5 5 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4, 'e': 5}
6
# 为字典增加一个键值对: "f": 6 7 dic.setdefault('f',6) 8 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4, 'e': 5, 'f': 6}
9
# 创建一个字典dic2, 键是列表lst=["you", "me", "him"]中的元素, 每个键对应的值都是0 10 dic2 ={} 11 dic2.fromkeys(['you','me','him'],0) 12 print(dic2)# 结果为: {'you': 0, 'me': 0, 'him':0}

13 # 删除dic一个键值对: "e":5 14 dic.pop('e') 15 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4, 'f': 6}

16 # 删除dic的最后一个键值对: 'f':6 17 dic.popitem() 18 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 4}

19 # 删除字典dic2中的键值对: "me":0 20 del dic2['me'] 21 print dic2 # 结果为: {'you': 0, 'him':0}

22 # 清空dic2中的所有键值对 23 dic2.clear() 24 print(dic)# 结果为: {}

25 # 给dic的键'd'赋值为666 26 dic['d']=666 27 print(dic)# 结果为: {"a": 1, "b" :2, "c": 3, "d": 666}

28 #将字典{'x': 110, 'y': 114, 'z': 120}更新到字典dic中 29 d ={'x':110,'y':114,'z':120} 30 dic.updata(d) 31 print(dic)# 结果为 {"a": 1, "b" :2, "c": 3, "d": 666, 'x': 110, 'y': 114, 'z': 120}

32 # 获取dic中键'a'对应的值 33 print(dic['a'])# 结果为: 1 34 print(dic.get('a'))# 结果为: 1

35 # 获取dic的所有键 36 print(dic.keys)# 结果为: dict_keys(['a', 'b', 'c', 'd', 'x', 'y', 'z'])

37 # 获取dic的所有值 38 print(dic.values())# 结果为:dict_values([1, 2, 3, 666, 110, 114, 120])

39 # 获取dic的所有键 40 print(dic.items())# 结果为: dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 666), ('x', 110), ('y', 114), ('z', 120)])

 返回顶部


 

3.集合

集合是不同元素的无序集合, 与序列不同, 集合不提供索引或切片操作, 也不像字典提供键进行索引. 集合有() 表示.集合分为两种:set集合是可变的集合, frozenset是不可变的集合. 无论哪种集合, 集合中的元素必须是不可变的数据类型.

返回顶部


4.集合的操作

    (1)可变集合与不可变集合通用操作

项目描述
s.different(t)差集, 返回所有在s中, 不在t中的项
s.intersection(t)交集, 返回s与t共有的元素
s.isdisjoint(t)如果s和t没有相同项则返回True
s.issubset(t)如果s是t的子集, 则返回True
s.issuperset(t)如果s是t的一个超集, 返回True
s.union(t)并集, 返回所有s和t的元素

返回顶部

    (2).可变集合专有方法(set)

项目描述
s.add(itme)将item添加到s中, 如果item存在, 则无效果
s.clear()删除s中的所有元素
s.pop()随机删除s中的某个元素, 并返回该元素
s.remove(item)删除s中的指定元素, 如果item不存在, 则抛出KeyError异常
s.update()将t中的元素添加到s中, t需要可迭代

返回顶部

转载于:https://www.cnblogs.com/Jermy/articles/10245232.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值