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()会返回所有元素的数据。

相关文章
|
1天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
13 4
|
1天前
|
设计模式 程序员 数据处理
编程之旅:探索Python中的装饰器
【10月更文挑战第34天】在编程的海洋中,Python这艘航船以其简洁优雅著称。其中,装饰器作为一项高级特性,如同船上的风帆,让代码更加灵活和强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一起感受编程之美。
|
3天前
|
存储 人工智能 数据挖掘
从零起步,揭秘Python编程如何带你从新手村迈向高手殿堂
【10月更文挑战第32天】Python,诞生于1991年的高级编程语言,以其简洁明了的语法成为众多程序员的入门首选。从基础的变量类型、控制流到列表、字典等数据结构,再到函数定义与调用及面向对象编程,Python提供了丰富的功能和强大的库支持,适用于Web开发、数据分析、人工智能等多个领域。学习Python不仅是掌握一门语言,更是加入一个充满活力的技术社区,开启探索未知世界的旅程。
13 5
|
1天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
10 1
|
1天前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
14 2
|
2天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
2天前
|
机器学习/深度学习 人工智能 数据可视化
探索Python编程:从基础到高级
【10月更文挑战第33天】本文是一篇深入浅出的Python编程入门教程,适合初学者阅读。文章首先介绍了Python的基本概念和语法,然后通过实例讲解了如何使用Python进行数据处理和分析,最后介绍了一些高级特性和库,帮助读者更好地掌握Python编程。无论你是编程新手还是有一定经验的开发者,这篇文章都能给你带来新的启示和收获。
|
1月前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
|
1月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
|
1月前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件

热门文章

最新文章