python字典key不能是可以是啥类型

python中字典的key不能是可变类型。字典可存储任意类型对象,其中值可以取任何数据类型,但键必须是不可变的,如字符串、数字或元组。语法格式:【d = {key1 : value1, key2 : value2}】。

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

代码实现:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

内容扩展:

Python中字典的key都可以是什么?

答:一个对象能不能作为字典的key,就取决于其有没有__hash__方法。所以所有python自带类型中,除了list、dict、set和内部至少带有上述三种类型之一的tuple之外,其余的对象都能当key。

比如数值/字符串/完全不可变的元祖/函数(内建或自定义)/类(内建或自定义)/方法/包等等你能拿出手的,不过有的实际意义不高。还有数值型要注意,因为两个不同的相等数字可以有相同的哈希值,比如1和1.0。

解释:

代码版本:3.6.3;文档版本:3.6.6

Unlike sequences, which are indexed by a range of numbers, dictionaries are indexed by keys, which can be any immutable type; strings and numbers can always be keys. Tuples can be used as keys if they contain only strings, numbers, or tuples; if a tuple contains any mutable object either directly or indirectly, it cannot be used as a key. You can't use lists as keys, since lists can be modified in place using index assignments, slice assignments, or methods like append()and extend().

字典的键可以是任意不可变类型,需要注意的是tuple元组作为键时,其中不能以任何方式包含可变对象。

到此这篇关于python字典key不能是可以是啥类型的文章就介绍到这了,更多相关python字典key不能是什么类型内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python修改字典键(key)的方法

    python字典中,值可任意更改:但键是唯一的,不支持直接修改.若真的需要修改字典中的键,可通过几种间接方式实现. 新建空白字典. info = {} 给字典添加键-值对. info["x"] = 1.5 info["y"] = 2 info 字典的键(key)不支持直接修改.如图,试图直接修改键会报错. info = {"x":1.5 ,"y":2} info["z"] = info("x&qu

  • python 字典操作提取key,value的方法

    python 字典操作提取key,value dictionaryName[key] = value 1.为字典增加一项 2.访问字典中的值 3.删除字典中的一项 4.遍历字典 5.字典遍历的key\value 6.字典的标准操作符 7.判断一个键是否在字典中 8.python中其他的一些字典方法 9.将两个字典合并 a={'a':1,'b':2,'c':3} b= {'aa':11,'bb':22,'cc':33} #方法一 print(dict(a,**b)) #方法二 这其实就是在内存中创

  • python3 打印输出字典中特定的某个key的方法示例

    本文实例讲述了python3 打印输出字典中特定的某个key的方法.分享给大家供大家参考,具体如下: 大家都知道python中的字典里的元素是无序的,不能通过索引去找到它,今天说我下通过下面几个方法去找某个特定的key的元素. Tester = {"name":"shawxie", "phone":"135xxxx", "Address":"深圳市南山区", "job"

  • Python字典fromkeys()方法使用代码实例

    fromkeys()方法类似于列表的浅拷贝 首先用该方法创建一个字典 dict_ = dict.fromkeys(('a','b','c','d'),[]) print(dict_) OUT: {'a': [], 'b': [], 'c': [], 'd': []} 当我向某个key添加value时,问题出现了 dict_['b'].append("!!!") print(dict_) OUT: {'a': ['!!!'], 'b': ['!!!'], 'c': ['!!!'], 'd

  • python字典嵌套字典的情况下找到某个key的value详解

    最近在用python写接口的测试程序,期间用到解析字典获取某个key的value,由于多个接口返回的字典格式不是固定的并存在多层嵌套的情况.在字典的方法中也没有找到可直接达到目的的方法(也可能是我对字典的方法了解的不深的缘故),于是自己写了个程序. 下面是代码 #coding: utf-8 import types #获取字典中的objkey对应的值,适用于字典嵌套 #dict:字典 #objkey:目标key #default:找不到时返回的默认值 def dict_get(dict, obj

  • python如何调用字典的key

    python中调用字典中key的方法: 使用list()方法将字典中的keys转化为列表,然后通过列表索引值值即可调用指定的key. # -*- coding: utf-8 -*- # 定义一个字典 dic = {'剧情': 11, '犯罪': 10, '动作': 8, '爱情': 3, '喜剧': 2, '冒险': 2, '悬疑': 2, '惊悚': 2, '奇幻': 1} #通过list将字典中的keys和values转化为列表 keys = list(dic.keys()) values

  • python字典key不能是可以是啥类型

    python中字典的key不能是可变类型.字典可存储任意类型对象,其中值可以取任何数据类型,但键必须是不可变的,如字符串.数字或元组.语法格式:[d = {key1 : value1, key2 : value2}]. 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: d = {key1 : value1, key2 : value2 } 键必须是唯一的,但值则

  • python提取字典key列表的方法

    本文实例讲述了python提取字典key列表的方法.分享给大家供大家参考.具体如下: 这段代码可以把字典的所有key输出为一个数组 d2 = {'spam': 2, 'ham': 1, 'eggs': 3} # make a dictionary print d2 # order is scrambled print d2.keys() # create a new list of my keys 希望本文所述对大家的Python程序设计有所帮助.

  • python 字典 按key值大小 倒序取值的实例

    如下所示: viedoUrl_dict = {1:'hello',2:'python',3:'nihao'} bit_list = sorted(viedoUrl_dict.keys()) bit_list.reverse() for key in bit_list: m3u8_url = viedoUrl_dict[key] print(m3u8_url) 以上这篇python 字典 按key值大小 倒序取值的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 字典中文key处理,读取,比较方法

    昨天碰到的,如果键是中文,如何进行匹配呢,先看文本内容: 这是字典里两个元素的内容,编码是utf-8,中文内容 运行代码如下 # -*- coding: utf-8 -*- rate1 = open('takeOffTime_date.txt', 'r') dic = dict() for line in rate1: line = line.strip().split(' ') data=line[0].decode('utf-8') dic[data]=line[1] print dic 比

  • python字典值排序并取出前n个key值的方法

    今天在写一个算法的过程中,得到了一个类似下面的字典: {'user1':0.456,'user2':0.999,'user3':0.789,user:'0.234'} 想要获取字典里value值前3的key,就产生了如下代码 直接贴代码: def order_dict(dicts, n): result = [] result1 = [] p = sorted([(k, v) for k, v in dicts.items()], reverse=True) s = set() for i in

  • 替换python字典中的key值方法

    比如有一个 a = {'a': 1} 希望变为 a = {'b' :1} 即:在保留value不变的情况下,替换key值 目前能想到的实现方案是 a['b'] = a.pop('a') 以上这篇替换python字典中的key值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 复制代码 代码如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典: 复制代码 代码如下: dict1 = { 'abc': 456 };dict2 = { 'abc': 123, 98.6: 37 }; 注意:每个键与值用冒号隔开

  • python字典排序实例详解

    本文实例分析了python字典排序的方法.分享给大家供大家参考.具体如下: 1. 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {'username':'password','database':'master'},其中'username'和'database'是key,而'password'和'master'是value,可以通过d[key]获得对应值value的引用,但是不能通过value得到k

  • python字典get()方法用法分析

    本文实例讲述了python字典get()方法用法.分享给大家供大家参考.具体分析如下: 如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 这里给大家分享的就是字典的get()方法. 这里我们可以用字典做一个小游戏,假设用户在终端输入字符串:"1"或者是"2"或者是"3",返回对应的内容,如果是输入其他的,则返回"error" >>> info

随机推荐