一、字典dict

dict以键值对形式存储,创建方式是用大括号{}并用冒号分隔键和值。

>>> d={'chen':60,'zhang':80}
>>> print d
{'chen': 60, 'zhang': 80}

赋值操作

>>> d['chen']=65
>>> print d
{'chen': 65, 'zhang': 80}

取值:get()方法,可以为其设置默认值。

>>> print d.get('liu',0)
0

删除:可以用pop方法删除值,并将删除的元素返回。

d['liu']=85
>>> d
{'chen': 60, 'liu': 85, 'zhang': 80} >>> d.pop('liu')
85
>>> d
{'chen': 60, 'zhang': 80}

keys()和values()方法分别返回字典的键和值集合,虽然键值对没有特定的顺序,但是这两个方法返回的结果顺序是一致的。

>>> d.keys()
['chen', 'zhang'] >>> d.values()
[60, 80]

字典合并:使用update()方法可以两个字典进行合并。

>>> d1={'a':100,'b':99}
>>> d.update(d1)
>>> d
{'chen': 60, 'a': 100, 'b': 99, 'zhang': 80}

完整demo:

d={"chen":60,"zhang":80}
print(d) d['chen']=65
print(d) print(d.get("liu",0)) d['liu']=85
print(d)
d.pop('liu')
print(d) print(d.keys())
print(d.values()) d1={'a':100,'b':99}
d.update(d1)
print(d)

二、集合set

1.set用于存储一组不重复的key值集合,但是不存储其value。

2.set有两种创建方式:

  • 用set函数,参数是list集合,例如:s=set([1,2,3,4,5]);
  • 用大括号包起来的集合字面量,例如: s={1,3}。

3.set常用操作

  • add(key)方法向set中添加元素,如果元素已经存在则不会生效
  • remove(key)方法可以删除元素。
  • | 操作符可以取集合并集
  • & 操作符取集合交集
  • - 求两个集合的差
  • ^求两个集合的异或。
>>> s=set([1,2,3,4,5])
>>> print s
set([1, 2, 3, 4, 5]) >>> s.add(6)
>>> print s
set([1, 2, 3, 4, 5, 6]) >>> s.add(6)
>>> print s
set([1, 2, 3, 4, 5, 6]) >>> s.remove(6)
>>> print s
set([1, 2, 3, 4, 5]) >>> s1=set([3,5,7])
>>> print s&s1
set([3, 5]) >>> print s|s1
set([1, 2, 3, 4, 5, 7])
>>> print s1-s set([7])
>>> print s^s1
set([1, 2, 4, 7])
  • issubset():判断一个集合是否为另外一个集合的子集;
  • issuperset():判断一个集合是否为另外一个集合的超集。
>>> s
set([1, 2, 3, 4, 5]) >>> {1,3,5}.issubset(s)
True >>> s.issuperset({1,5})
True

如需转载,请标明原文链接:http://www.cnblogs.com/janes/

Python【3】-字典dic和集合set的更多相关文章

  1. python中字典dic详解-创建,遍历和排序

    原文地址:http://www.bugingcode.com/blog/python_dic_create_sort.html 在python的编程中,字典dic是最典型的数据结构,看看如下对字典的操 ...

  2. Python基础:字典(dict)与集合(set)

    查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...

  3. python dict字典和set集合用法

    创建字典:键  值  key  value c = {'张三':59, '李四':60, '王五':100} #查 print(c['张三'])  #打印张三的成绩 #改 c['张三'] = 60 # ...

  4. python 全栈开发,Day7(元组转换,列表以及字典的坑,集合,关系测试,深浅copy,编码补充)

    一.元组转换 数字 tu = (1) tu1 = (1,) print(tu,type(tu)) print(tu1,type(tu1)) 执行输出: 1 <class 'int'>(1, ...

  5. python元组-字典-集合及其内置方法(下)

    列表补充 补充方法 清空列表 clear # clear 清空列表 l = [1, 2, 3, 4, 4] print(l.clear()) # clear没有返回值(None) print(l) # ...

  6. python中几个常见的黑盒子之“字典dict” 与 “集合set”

    这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: ...

  7. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  8. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  9. [转]Python 的列表解析式,集合解析式,字典解析式

    Python 的列表解析式,集合解析式,字典解析式 这三种都是 python 里面的语法糖. 语法糖,Syntactic Sugar,就是为了写程序时候少出错,发明的一些简便的方法,但不影响这个语法的 ...

随机推荐

  1. js判断输入时间是否大于系统时间

    validator.js中添加验证 beforeCurrentTime : {// 时间不能大于当前时间 validator : function(value) { var myDate = new ...

  2. sql获取时间

    SELECT CONVERT(varchar(10), getdate(), 120)--当前年月日,Example:2013-11-19 SELECT CONVERT(varchar(10), ge ...

  3. HDU 3221 Brute-force Algorithm

              题意:问funny被调用了多少次,结果ModP,P不一定为质数.   首先很容易发现递推公式fn=fn-1*fn-2;写出前几项a,b,a*b,a*b^2,a^2*b^3,a^3* ...

  4. Web Api 简介

    ASP.NET Web API 简介  ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP. ...

  5. MySql binlog恢复数据

    1. 直接导入数据库 mysqlbinlog --database=testdb mysql-bin. | mysql -uroot -f 2. 导出成SQL文 (1) 从binlog输出为SQL m ...

  6. ABAP GET TIME

    用来获得应用服务器的时间. 在程序开始运行的时候,sy-uzeit已经被写入内存,不用get time不会刷新 例如: 运行结果: FORM TSTSYS.   DATA: i1 TYPE i VAL ...

  7. 开始学习Angular Mobile UI

    介绍 Mobile AngularUI 可以让你使用Twitter Booostrap和Angular JS来开发混合移动App和桌面应用程序. 下面是是一些贯穿整个项目的步骤,我强烈的建议你去继续阅 ...

  8. XML文件解析

    eclipse新建源文件的文件夹,编译后和src文件夹中放在一起 源文件 源文件的配置文件 测试文件 源文件的测试文件 一般用maven进行管理的时候就是这样 如果是小项目的话可能就src和resou ...

  9. OpenCV2+入门系列(一):OpenCV2.4.9的安装与测试

    这里假设看到这篇文章的人都已经对OpenCV以及机器视觉等最基础的概念有了一定的认识,因此本文不会对OpenCV做任何的介绍,而是直接介绍OpenCV2.4.9的安装与测试.此外本文只是简单的介绍如何 ...

  10. Mac系统下配置Maven环境变量

    1.在官网下载Maven安装包,网址:https://maven.apache.org/download.cgi: 2.进入终端Terminal,验证JDK是否配置成功,输入java -version ...