Python中字典dict
2018-11-22 08:45:27来源:博客园 阅读 ()
dict字典
- 字典是一种组合数据,没有顺序的组合数据,数据以键值对形式出现
# 字典的创建 # 创建空字典1 d = {} print(d) # 创建空字典2 d = dict() print(d) # 创建有值的字典, 每一组数据用冒号隔开, 每一对键值对用逗号隔开 d = {"one":1, "two":2, "three":3} print(d) # 用dict创建有内容字典1 d = dict({"one":1, "two":2, "three":3}) print(d) # 用dict创建有内容字典2 # 利用关键字参数 d = dict(one=1, two=2, three=3) print(d) # d = dict( [("one",1), ("two",2), ("three",3)]) print(d)
{} {} {'one': 1, 'two': 2, 'three': 3} {'one': 1, 'two': 2, 'three': 3} {'one': 1, 'two': 2, 'three': 3} {'one': 1, 'two': 2, 'three': 3}
字典的特征?
- 字典是序列类型,但是是无序序列,所以没有分片和索引
- 字典中的数据每个都有键值对组成,即kv对
- key: 必须是可哈希的值,比如int,string,float,tuple, 但是,list,set,dict 不行
- value: 任何值
字典常见操作
# 访问数据 d = {"one":1, "two":2, "three":3} # 注意访问格式 # 中括号内是键值 print(d["one"]) d["one"] = "eins" print(d) # 删除某个操作 # 使用del操作 del d["one"] print(d)
1 {'one': 'eins', 'two': 2, 'three': 3} {'two': 2, 'three': 3}
# 成员检测, in, not in # 成员检测检测的是key内容,键 d = {"one":1, "two":2, "three":3} if 2 in d: print("value") if "two" in d: print("key") if ("two",2) in d: print("kv")
key
可以看出,字典dict中的成员检测为键,因为它具有唯一性
# 便利在python2 和 3 中区别比较大,代码不通用 # 按key来使用for循环 d = {"one":1, "two":2, "three":3} # 使用for循环,直接按key值访问 for k in d: print(k, d[k]) # 上述代码可以改写成如下 提倡这么写 for k in d.keys(): print(k, d[k]) # 只访问字典的值 for v in d.values(): print(v) # 注意以下特殊用法 for k,v in d.items(): print(k,'--',v)
one 1 two 2 three 3 one 1 two 2 three 3 1 2 3 one -- 1 two -- 2 three -- 3
# 常规字典生成式 dd = {k:v for k,v in d.items()} print(dd) # 加限制条件的字典生成式 过滤文件 dd = {k:v for k,v in d.items() if v % 2 == 0} print(dd)
{'one': 1, 'two': 2, 'three': 3} {'two': 2}
字典相关函数
# 通用函数: len, max, min, dict # str(字典): 返回字典的字符串格式 d = {"one":1, "two":2, "three":3} print(d)
{'one': 1, 'two': 2, 'three': 3}
# clear: 清空字典 # items: 返回字典的键值对组成的元组格式 d = {"one":1, "two":2, "three":3} i = d.items() print(type(i)) print(i)
<class 'dict_items'> dict_items([('one', 1), ('two', 2), ('three', 3)])
# keys:返回字典的键组成的一个结构 k = d.keys() print(type(k)) print(k)
<class 'dict_keys'> dict_keys(['one', 'two', 'three'])
# values: 同理,一个可迭代的结构 v = d.values() print(type(v)) print(v)
<class 'dict_values'> dict_values([1, 2, 3])
# get: 根据制定键返回相应的值, 好处是,可以设置默认值 d = {"one":1, "two":2, "three":3} print(d.get("on333")) # get默认值是None,可以设置 print(d.get("one", 100)) print(d.get("one333", 100)) #体会以下代码跟上面代码的区别 print(d['on333'])
{'eins': 'hahahahahah', 'zwei': 'hahahahahah', 'drei': 'hahahahahah'}
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Python中元组相关知识
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash