一、字典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正则表达式

    正则表达式分析页面:https://regexper.com/ 可以很清楚的分析正则,加深理解 var reg=/\bis\b/; 'He is a boy.This is a dog.Where i ...

  2. 体验阿里云SSD云盘+ECS(I/O优化)的性能

    阿里云推出SSD云盘+I/O优化的ECS已有一段时间,这个功能优化可以为ECS服务器与SSD云盘提供更好的网络能力.据阿里云官网介绍,SSD云盘最高提供20000次随机读写IOPS.256MB/S吞吐 ...

  3. What's the difference between <b> and <strong>, <i> and <em> in HTML/XHTML? When should you use each?

    ref:http://stackoverflow.com/questions/271743/whats-the-difference-between-b-and-strong-i-and-em The ...

  4. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

  5. 21-React的学习

    # React的学习 React概述: React是一个用于构建用户界面的JavaScript库. React主要用于构建UI,很多人认为React是MVC中的V(视图). React起源于Faceb ...

  6. iOS上传文件代码,自定义组装body

    以下代码为上传文件所用代码,简单方便,搞了好久,终于知道这么简单的方式来上传. 其它类库也就是把这几句代码封装的乱七八糟得,让你老久搞不懂原理.不就是在body上面加点字符串,body下面加点字符串, ...

  7. vchar2和nvchar2

    Oracle中varchar2 nvarchar2 VARCHAR2(size),可变长度的字符串,其最大长度为 size 个字节.size 的最大值是 4000,而最小值是 1.您必须指定一个 VA ...

  8. JavaScript对象的chapterII

    一.BOM对象 1.window对象——表示整个浏览器窗口 常用方法: a)alert()——系统消息框 alert('Hello World'); b)确认对话框——confirm() confir ...

  9. LVS

    1.LVS-NAT, DNAT(多目标) 2.LVS-DR(Direct Routing) 返回报文不经过Direct real server  不能跨越路由 调度算法:Scheduling 静态方法 ...

  10. UAT SIT QAS DEV PET

    UAT: User Acceptance Testing 用户验收测试SIT: System Integration Testing 系统集成测试PET: Performance Evaluation ...