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

本文深入剖析了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)可把其它序列类型转换成元组。

最新文章

  1. [NHibernate]多对多关系(关联查询)
  2. MyBatis学习(四)MyBatis和Spring整合
  3. (转)javascript异步编程的四种方法
  4. Debian系统vim中文显示乱码问题
  5. SharePoint大容量文档库整体搬迁的解决方案(SharePoint document library migration)
  6. WCF服务跟踪
  7. EntityFramework Code First 添加唯一键
  8. 关于html5不支持frameset的解决方法
  9. Java线程专栏文章汇总(转)
  10. Qt之自定义界面(QMessageBox)
  11. PHP 支持IMAP
  12. 采用Reflector的VS.net插件断点调试无源码DLL 分类:
  13. UltraEdit v17.10.0,注册机,注册码
  14. 网页头一定要加的代码段(加注版)一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
  15. 自己写的一个 java swing 的闹钟
  16. 微信jssdk分享功能,jssdk成功调用,分享内容自定义失败
  17. 怎么解决docker pull拉取镜像速度过慢的问题
  18. 自学Linux Shell11.5-执行数字运算
  19. Delphi XE 10 跨平台三层数据库应用教程
  20. tarfile模块可以方操作tar归档文件

热门文章

  1. linux系统设置登录失败n次锁定账户:vim /etc/pam.d/system-auth
  2. Some notes of An Insider&#39;s Guide to TOEFL iBT
  3. HCW 19 Team Round (ICPC format) B. Beggin&#39; For A Node(树的重心,交互题)
  4. string::find_last_not_of
  5. sed基础语法
  6. nginx upstream和轮询策略
  7. .NET-list扩展方法Distinct去重
  8. 【leetcode】1268. Search Suggestions System
  9. java文件断点续传上传下载解决方案
  10. py脚本修改后自动重启