盘点一个Python字典dict作妖写法

简介: 盘点一个Python字典dict作妖写法

大家好,我是皮皮。


一、前言


前几天在Python最强王者交流群有个叫【老松鼠】的粉丝问了一个Python基础问题,这里拿出来给大家分享下,一起学习下。

image.png


二、解决过程


这个问题挺基础的,看上去确实也不难。但是把这个输出打印出来,一开始还是让人挺难接受的。

dic = {True: 'yes', 1: 'no', 1.0: 'maybe'}
for i in dic.keys():
    print(i)
print(list(dic.items()))

image.png

正是如你看到的那样,结果就只有[(True, 'maybe')],而不是[(True: 'yes'), (1: 'no'), (1.0: 'maybe')],那么这块怎么来理解呢?

这里不得不拿上一次【瑜亮老师】在群里普及的Python知识,如下图所示。

image.png

1==true=1.0,dictkey值唯一,所以就一个值。所以三个key是一样的,于是就第一次赋值,后面两次都重新赋值,key不变,相当于是update,保留最后一个。

image.png

这样的话,为啥key不由True变为1.0的问题,就迎刃而解了。说到这里,又想把之前的这个文章,拿出来给大家看看了。

image.png

Python的基本数据类型有这6种:不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。其中Number有 intfloatboolcomplex(复数)这4种。既然4个都是Number,那就是说他们就可以直接相加。并且True == 1 == 1.0 == 1e0的结果就是True


三、总结


大家好,我是皮皮。这篇文章主要分享了一个Python字典dict作妖写法,针对该问题给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。


最后感谢粉丝【老松鼠】提问,感谢【瑜亮老师】、【月神】、【dcpeng】给出的具体解析和代码演示,感谢【冷喵】、【PI】等人参与学习交流。


小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。


------------------- End -------------------

相关文章
|
14天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
1月前
|
存储 索引 Python
python字典:怎么取出key对应的值
python字典:怎么取出key对应的值
27 0
|
1月前
|
存储 数据库 索引
Python新手常见问题一:列表、元组、集合、字典区别是什么?
本文针对Python编程新手常遇到的问题,详细阐述了列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)这四种数据结构的核心区别。列表是一种有序且可变的数据序列,允许元素重复;元组同样有序但不可变,其内容一旦创建就不能修改;集合是无序、不重复的元素集,强调唯一性,主要用于数学意义上的集合操作;而字典则是键值对的映射容器,其中键必须唯一,而值可以任意,它提供了一种通过键查找对应值的有效方式。通过对这些基本概念和特性的对比讲解,旨在帮助初学者更好地理解并运用这些数据类型来解决实际编程问题。
37 1
|
5天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
6 0
|
14天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
39 1
|
14天前
|
存储 Python
python基础篇: 详解 Python 字典类型内置方法
python基础篇: 详解 Python 字典类型内置方法
25 1
|
19天前
|
C语言 Python
Python字典推导式:高效构建字典的利器
在Python编程中,字典推导式(Dictionary Comprehension)是一种强大的构造工具,它允许我们以简洁的方式从现有可迭代对象创建新的字典。通过字典推导式,我们可以轻松地对数据进行转换、过滤或重新组织,以符合特定的需求。本文将深入探讨字典推导式的概念、语法和应用场景,帮助读者更好地掌握这一高效的编程工具。
|
25天前
|
Python
深入解析Python中的字典推导式
深入解析Python中的字典推导式
|
28天前
|
存储 Java Python
助你更好的理解 Python 字典
助你更好的理解 Python 字典
|
29天前
|
存储 数据处理 索引
python字典使用(三)
python字典使用(三)
14 0