python的dict,set,list,tuple应用详解


Posted in Python onJuly 24, 2014

本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握。具体如下:

1.字典(dict)

dict 用 {} 包围
dict.keys(),dict.values(),dict.items()
hash(obj)返回obj的哈希值,如果返回表示可以作为dict的key
del 或 dict.pop可以删除一个item,clear清除所有的内容
sorted(dict)可以把dict排序
dict.get()可以查找没存在的key,dict.[]不可以
dict.setdefault() 检查字典中是否含有某键。 如果字典中这个键存在,你可以取到它的值。 如果所找的键在字典中不存在,你可以给这个键赋默认值并返回此值。
{}.fromkeys()创建一个dict,例如:

{}.fromkeys(('love', 'honor'), True) =>{'love': True, 'honor': True}

不允许一个键对应多个值
键值必须是哈希的,用hash()测试
一个对象,如果实现_hash()_方法可以作为键值使用

2.集合(set)

集合是一个数学概念,用set()创建

set.add(),set.update.set.remove,添加更新删除,-= 可以做set减法
set.discard 和 set.remove不同在于如果删除的元素不在集合内,discard不报错,remove 报错
< <= 表示 子集,> >=表示超集
| 表示联合 & 表示交集 - 表示差集 ^ 差分集

3.列表(list)

列表是序列对象,可包含任意的Python数据信息,如字符串、数字、列表、元组等。列表的数据是可变的,我们可通过对象方法对列表中的数据进行增加、修改、删除等操作。可以通过list(seq)函数把一个序列类型转换成一个列表。

append(x) 在列表尾部追加单个对象x。使用多个参数会引起异常。
count(x) 返回对象x在列表中出现的次数。
extend(L) 将列表L中的表项添加到列表中。返回None。
Index(x) 返回列表中匹配对象x的第一个列表项的索引。无匹配元素时产生异常。
insert(i,x) 在索引为i的元素前插入对象x。如list.insert(0,x)在第一项前插入对象。返回None。
pop(x) 删除列表中索引为x的表项,并返回该表项的值。若未指定索引,pop返回列表最后一项。
remove(x) 删除列表中匹配对象x的第一个元素。匹配元素时产生异常。返回None。
reverse() 颠倒列表元素的顺序。
sort() 对列表排序,返回none。bisect模块可用于排序列表项的添加和删除。

4.元组(tuple)

tuple=(1,),这是单个元素的元组表示,需加额外的逗号。
tuple=1,2,3,4,这也可以是一个元组,在不使用圆括号而不会导致混淆时,Python允许不使用圆括号的元组。
和列表一样,可对元组进行索引、分片、连接和重复。也可用len()求元组长度。 
元组的索引用tuple[i]的形式,而不是tuple(i)。
和列表类似,使用tuple(seq)可把其它序列类型转换成元组。

Python 相关文章推荐
Python和GO语言实现的消息摘要算法示例
Mar 10 Python
Windows下PyMongo下载及安装教程
Apr 27 Python
Python中遇到的小问题及解决方法汇总
Jan 11 Python
Python调用C语言的方法【基于ctypes模块】
Jan 22 Python
python3基于TCP实现CS架构文件传输
Jul 28 Python
python实现支付宝转账接口
May 07 Python
python 随机生成10位数密码的实现代码
Jun 27 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
Aug 02 Python
Python内置数据类型list各方法的性能测试过程解析
Jan 07 Python
numpy库ndarray多维数组的维度变换方法(reshape、resize、swapaxes、flatten)
Apr 28 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 08 Python
Python常见数据结构详解
Jul 24 #Python
python海龟绘图实例教程
Jul 24 #Python
python实现绘制树枝简单示例
Jul 24 #Python
python实现进程间通信简单实例
Jul 23 #Python
Python数组条件过滤filter函数使用示例
Jul 22 #Python
Python标准库与第三方库详解
Jul 22 #Python
Python调用C/C++动态链接库的方法详解
Jul 22 #Python
You might like
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
PHP引用的调用方法分析
2016/04/25 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
Div Select挡住的解决办法
2008/08/07 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
JS循环遍历JSON数据的方法
2014/07/08 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
微信小程序 MD5加密登录密码详解及实例代码
2017/01/12 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
[50:02]完美世界DOTA2联赛PWL S2 Magma vs FTD 第三场 11.29
2020/12/03 DOTA
python字典DICT类型合并详解
2017/08/17 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
python实现二分查找算法
2020/09/18 Python
Python绘制数码晶体管日期
2021/02/19 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
美国领先的家居装饰和礼品商店:Kirkland’s
2017/01/30 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
什么是测试驱动开发(TDD)
2012/02/15 面试题
演讲稿怎么写
2014/01/07 职场文书
高级编程求职信模板
2014/02/16 职场文书
运动会广播稿200米(5篇)
2014/10/15 职场文书
2016大一新生军训感言
2015/12/08 职场文书
小学班级管理心得体会
2016/01/07 职场文书
送给自己的励志语句:要安静的优秀,悄无声息的坚强
2019/11/26 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android