dict属于mapping类型

from collections.abc import Mapping,MutableMapping
from collections.abc import __all__ # dict 属于Mapping类型 a = {}
print(isinstance(a,MutableMapping))

copy 浅拷贝

a = {
"liming1":{"company":"tencent1"},
"liming2":{"company":"tencent2"},
} # clear
""" D.clear() -> None. Remove all items from D. """
# a.clear() #copy 浅拷贝
""" D.copy() -> a shallow copy of D """
new_dict = a.copy()
new_dict['liming1']['company'] = 'tencent3' print(a)
print(new_dict) ###########
{'liming1': {'company': 'tencent3'}, 'liming2': {'company': 'tencent2'}}
{'liming1': {'company': 'tencent3'}, 'liming2': {'company': 'tencent2'}}

fromkeys

# fromkeys
new_list = ['liming1','liming2'] new_dict = dict.fromkeys(new_list,{'company':'tencent'}) print(new_dict)

update

# update

new_dict.update({'lisa':{"company":"tencent2"}})
new_dict.update({'liming2':{"company":"tencent2"}})
new_dict.update(jenny={'company':'beijing'})
new_dict.update([('jenny',{'company':'shanghai'})])
print(new_dict)

defaultdict

__missing__ 很重要
from collections import defaultdict
import collections
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)] d = collections.defaultdict(list)
for k, v in s:
d[k].append(v) print(list(d.items())) s = 'mississippi'
d = defaultdict(int)
for k in s:
d[k] += 1
print(list(d.items()))#set 不可变集合 fronzenset 无序 不重复

set和frozenset 的区别

刚开始也讲了frozenset是不可变的,如果修改是报错的,那到底有什么用处呢
应用场景:一般dict 的key 是不变的,我们就可以用
那我们用代码证明下,set不会报错,frozenset 会报错.

s = {'a','b'}
s.add('c')
print(s) f = frozenset('abcd') # 可以作为dict的key
print(f) # 向set添加数据
another_set = set('fgh') s.update(another_set)
print(s)

difference 的用法

# 先看方法描述吧 ( Return the difference of two or more sets as a new set.)
# 用例子加深印象。
a=set("abc")
print(a.difference("bcd"))
print(a)

set集合运算(|,&,-)

a=set("abc")
b=set("bcd")
print(a-b) #对a进行去重
print(a | b) #并集
print(a & b) #交集 # {'a'}
# {'c', 'a', 'd', 'b'}
# {'c', 'b'}

set和dict的更多相关文章

  1. tuple放入dict中

    tuple放入dict中是否可以正常运行 # 将tuple放入dict中 a = ('AI','Kobe','Yao') b = ('AI',['Kobe','Yao']) dict1 = {'a': ...

  2. redis数据结构存储Dict设计细节(redis的设计与实现笔记)

    说到redis的Dict(字典),虽说算法上跟市面上一般的Dict实现没有什么区别,但是redis的Dict有2个特殊的地方那就是它的rehash(重新散列)和它的字典节点单向链表. 以下是dict用 ...

  3. python list dict 去重的两种方式

    def dedupe(items, key=None): seen = set() for item in items: val = item if key is None else key(item ...

  4. list,tuple,dict,set常用方法

    Python中list,tuple,dict,set常用方法 collections模块提供的其它有用扩展类型 from collections import Counter from collect ...

  5. python dict clear只能删除一层,不能够递归删除。

    void PyDict_Clear(PyObject *op) { dictobject *mp; dictentry *ep, *table; int table_is_malloced; Py_s ...

  6. Python中内置数据类型list,tuple,dict,set的区别和用法

    Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...

  7. python第一天 - dict

    dict key-value集合. d = { ': 'a', ': 'b', ': 'c' } (一).获取集合长度:len(d) = 3(二).获取值: 方式一:d[key];例:d['1'] = ...

  8. python利用dict模拟switch

    pytho本身并未提供switch语句,但可以通过dict来模拟switch, #方法1 def add(x,y): return x+y def dec(x,y): return x-y def m ...

  9. python-list tuple dict set

    1:删除一个列表末尾的元素 pop方法 >>> a [1, 'Jack', 2, 3, 2] >>> a.pop() >>> a [1, 'Jac ...

  10. python基础之dict、set及字符

    python基础之dict.set及字符串处理 本节内容 字典介绍及内置方法 集合介绍 字符串处理 1.字典介绍及内置方法 字典是python中唯一的映射类型,采用键值对(key-value)的形式存 ...

随机推荐

  1. komodo-edit

    sudo add-apt-repository ppa:mystic-mirage/komodo-edit sudo apt-get update sudo apt-get install komod ...

  2. Dtree 添加 checkbox 复选框 可以默认选中

    一:目标 要实现用一个树形结构的展示数据,每个节点(除了根节点)前有一个checkbox,同时,点击父节点,则子节点全选或者全不选,当选中了全部子节点,父节点选中:如下图所示: 同时可以在创建的时候, ...

  3. (78)zabbix值缓存(value cache)说明

    在zabbix-2.2版本之前,zabbix计算trigger与calculated/aggregate值都是直接通过sql语句查询并处理出来的结果,为了提高这块的性能与效率,zabbix引入了val ...

  4. 非负随机变量X满足:(1-F(x)) 在 (0,+∞)积分为= E[X]

    机器学习作业的第一题最后一问卡住了,要证明 非负随机变量X满足 1 - F(X) 在 (0,+∞)上的积分是E(X);  关键的地方是积分换序,看原来的答案真的很难理解,画个图一下就懂了,码个链接,便 ...

  5. 使用IP访问本地网站缓慢解决方法

    运行环境: win7 64位 apache2.4 php-5.6.37 最近由于业务需要,需要使用php5.6版本,所以配套升级了apache到2.4,但升级以后,发现用公司内网IP访问网站非常非常慢 ...

  6. Vue插槽

    插槽内容 Vue实现一套内容分发的API, 这套API基于当前的web组件规范草案,将元素作为承载分发内容的出口. <navigation-link url="/profile&quo ...

  7. Ajax基础知识梳理

    Ajax用一句话来说就是无须刷新页面即可从服务器取得数据.注意,虽然Ajax翻译过来叫异步JavaScript与XML,但是获得的数据不一定是XML数据,现在服务器端返回的都是JSON格式的文件. 完 ...

  8. 正则表达式-基础知识Review

    正则表达式(Regular Expression)是计算机科学的一个概念. 正则表达式使用单个字符窜来描述.匹配一系列符合某个句法规则的字符窜. 在很多文本编辑器里, 正则表达式通常用来被检索替换哪些 ...

  9. astyle 使用说明 —— 集成到开发平台中

    转自:https://www.cnblogs.com/jiangxinnju/p/4908575.html 欢迎关注我的社交账号: 博客园地址: http://www.cnblogs.com/jian ...

  10. HihoCoder - 1636 Pangu and Stones(区间DP)

    有n堆石子,每次你可以把相邻的最少L堆,最多R堆合并成一堆. 问把所有石子合并成一堆石子的最少花费是多少. 如果不能合并,输出0. 石子合并的变种问题. 用dp[l][r][k]表示将 l 到 r 之 ...