Python核心编程学习笔记之映射类型(上)

简介:  根据核心编程第二版学习Python3.x的内容,可能有些欠缺,有些方法在3.x中已经不提供了,就暂时先略过了。等以后再对比2.x和3.x的区别,作下笔记吧 1.    Python中字典的定位: a)      字典是python中唯一的映射类型,通常被认为是可变的哈希表。 b)     字典对象是可变的,能存储任意多个python对象。 c)      字典是Python中最强

 根据核心编程第二版学习Python3.x的内容,可能有些欠缺,有些方法在3.x中已经不提供了,就暂时先略过了。等以后再对比2.x和3.x的区别,作下笔记吧

1.    Python中字典的定位:

a)      字典是python中唯一的映射类型,通常被认为是可变的哈希表。

b)     字典对象是可变的,能存储任意多个python对象。

c)      字典是Python中最强大的数据类型之一

2.    字典(dict)和序列类型容器类(列表和元组)的区别:

a)      存储和访问数据的方式不同,序列类型只用数字类型的键,映射可以使用其他对象类型作为键,比如数字和字符串,也可以混用数字和字符串作为键;

b)     字典中的数据是无需排列的,序列中的数据时有序的。

3.    如何得到dict的有序集合:

字典(dict)中的有序集合只能是键的集合或者值得集合。方法keys()或value()返回一个列表,是可排序的。还可以使用items()得到包含键值对的元组的列表排序

4.    字典(dict)的语法:

语法格式: 键:值  一个键值对成为一个元素

a)      >>>dict1={}  à创建一个空值的字典

b)     >>>dict1={‘key’:’value’}  à设置字典的键值对

c)      >>>dict1={‘key1’:’value1’}  à 这样dict1又重新映射到{‘key1’:’value1’}。{‘key’:’value’}就作废了。

d)      >>>dict1[‘key2’]=’value2’  à 如果字典中不存在该键就添加新的键值对,存在该键就会替换掉原来的值。如果dict1还未赋过值,则这句话会报错

e)      >>>deldict1[‘key2’]  à删除字典对象中键为“key2”的条目

f)       >>>dict1.clear()  à清空dict1中的所有内容

g)      >>>del dict1  à删除dict1

h)     >>>dict1.pop(‘key1’)  à删除并返回键为‘key1’的值

笔记提醒:

       避免使用内建的对象名字作为变量的标示符。虽然编译器允许,但是你能确定你不出错吗?

5.    Python怎么查找值呢?

对了通过键查找,就像这样dict1[‘key1’],当然你得有dict1这个对象并且还得有键”key1”才行哦!!否则有错哦!!

 

       好像还有件事,我怎么确定字典中是否有”key1”或者”key3”键呢?

   差点忘了,看这

>>>’key1’ in dict1  à存在”key1”键,返回True,否则就返回False


6.    字典的内建函数和工厂函数

标准类型函数【type()、str()】

type()和str()比较简单,type(对象)  à 返回对象类型

str(对象) à返回字符串!看图知道有啥区别了吧


PS:cmp()在3.x中不支持,网传的(a>b)- (a<b) 出错,暂时跳过,等待中


字典对象间比较顺序为:字典长度à字典键à字典值,全都相同时,返回0值。

 【dict()、len()】

dict() 工厂函数被用来创建字典。如果不提供参数,会生成空字典。当容器类型对象做为一个参数传 递给方法 dict() 时很有意思。如果参数是可以迭代的,即,一个序列,或是一个迭代器,或是一个 支持迭代的对象,那每个可迭代的元素必须成对出现。在每个值对中,第一个元素是字典的键、第二个元素是字典中的值。见 Python 文档里关于 dict()的例子:

>>> dict(zip(('x','y'), (1, 2)))
{'y': 2, 'x': 1}
>>> dict([['x', 1], ['y', 2]])
{'y': 2, 'x': 1}
>>> dict([('xy'[i-1], i) for i in range(1,3)])
{'y': 2, 'x': 1}

 

 len() 可以用在序列、映像和集合上,对字典调用len()会返回所有元素的数据。

相关文章
|
23天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
22天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
10天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80
|
9天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
39 2
|
17天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
59 8
|
22天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
44 10
|
23天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
22天前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
|
2月前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
38 1
|
2月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
29 1