| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python中的字典(dictionary) -> 正文阅读 |
|
[Python知识库]Python中的字典(dictionary) |
dict(字典)可能是Python内建数据结构中最为重要的。 dict_1 = {} dcit_2 = {'a':'some value','b':'[1,2,3,4]'} words = ['apple','banana','abandon','extend','cba'] 访问或设置字典中的元素,与列表和元组的方法一样。 dict_2[2] = 'extend'#dict_2={'a':'some value','b':'[1,2,3,4]',2:c} dict_2['a']#返回some value 可以用像列表或元组一样的方法来判断是否存在一个这样的键 ‘a’ in dict_2#返回True 可以使用del关键字或pop方法删除值,pop方法会在删除的同时返回被删除的值。 字典中的keys方法和values方法会分别返回字典键和值的迭代器: list(dict_2.keys())=['a','b',2] list(dict_2.values())=['some value','[1,2,3,4]','extend'] 从序列生成字典: 字典本质是二元组的集合,字典是可以接受一个2-元组的列表最为参数的: mapping = dict(zip(range(5),reversed(range(5))))#返回{0:4,1:3,2:2,3:1,4:0} 默认值(default): get()方法 value = some_dict.get(key,default_value) 会在key参数不是字典键时返回None setdefualt()方法: 与get()方法相似但当key在字典中不存在时会创建一个key的键并将default_value的付给它。 内建模块中有一个非常有用的类,defaultdict。是一个在各位置上生成默认值的函数。‘ 如将列表words中的元素按首字母分类的包含列表的字典。 用setdefault方法实现: by_letter = {} for word in words: letter = word[0] by_letter.setdefault(letter,[]).append(word) 用defaultdict实现: for collections import defaultdict by_letter= defaultdict(list) for word in words: by_letter[word[0]].apend(word) 有效的键类型: 字典的值可以是任何python对象,当键必须是不可变的对象。比如标量类型(整数,浮点数,字符串)或元组(且元组内对象也必须是不可变对象,不能包含列表) 可以通过hash函数可以检查一个对象是否可以哈希化(作为字典的值)。 hash('string')#返回5023931462650008331?? 为了将列表作为键可以将其转化为元组,而元组内部元素都可以哈希化,则他自己也可以哈希化 d= {} d[tuple([1,2,3])]=5#返回[(1,2,3):5] |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 1:51:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |