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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
Python使用代理抓取网站图片(多线程)
Mar 14 Python
在RedHat系Linux上部署Python的Celery框架的教程
Apr 07 Python
python uuid模块使用实例
Apr 08 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 Python
让你的Python代码实现类型提示功能
Nov 19 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
PyQt5事件处理之定时在控件上显示信息的代码
Mar 25 Python
Python 如何安装Selenium
May 06 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
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
PHP开发中常用的十个代码样例
2016/02/02 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
javascript XMLHttpRequest对象全面剖析
2010/04/24 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
Django项目实战之用户头像上传与访问的示例
2018/04/21 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python如何爬取网站数据并进行数据可视化
2019/07/08 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
python两个list[]相加的实现方法
2020/09/23 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
家长给孩子的表扬信
2014/01/17 职场文书
幼儿园五一活动方案
2014/02/07 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
2015年司法所工作总结
2015/04/27 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android