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装饰器由浅入深
Dec 09 Python
python实现图片筛选程序
Oct 24 Python
python 字符串只保留汉字的方法
Nov 16 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
python中class的定义及使用教程
Sep 18 Python
如何利用Python开发一个简单的猜数字游戏
Sep 22 Python
原生python实现knn分类算法
Oct 24 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
python从Oracle读取数据生成图表
Oct 14 Python
Python通过format函数格式化显示值
Oct 17 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中的array数组类型分析说明
2010/07/27 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
Javascript模板技术
2007/04/27 Javascript
一个用js实现控制台控件的代码
2007/09/04 Javascript
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
jQuery制作简洁的多级联动Select下拉框
2014/12/23 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
vue动画效果实现方法示例
2019/03/18 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python连接mysql实例分享
2016/10/09 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
Python生成短uuid的方法实例详解
2018/05/29 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
python利用pytesseract 实现本地识别图片文字
2020/12/14 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
Peter Alexander新西兰站:澳大利亚领先的睡衣设计师品牌
2016/12/10 全球购物
电信营业员自我评价分享
2014/01/17 职场文书
2015年行政管理人员工作总结
2015/10/15 职场文书
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android