一、字典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. esponse.sendRedirect方式的转向与RequestDispatcher的forward方法的比较

    esponse.sendRedirect方式的转向与RequestDispatcher的forward方法的比较 JavaWeb开发中,采用MVC模式的时候,在控制器完成模型的调用之后会选择界面对用户 ...

  2. redis 相关命令

    /etc/init.d/redis-serveredis-cli 进入redis/etc/init.d/redis-server stop /etc/init.d/redis-server start ...

  3. Mybatis框架基于映射文件和配置文件的方式,实现增删改查,可以打印日志信息

    首先在lib下导入: 与打印日志信息有关的架包 log4j-1.2.16.jar mybatis架包:mybatis-3.1.1.jar 连接数据库的架包:mysql-connector-java-5 ...

  4. MFC动态创建菜单

    http://blog.csdn.net/csdnzhwk/article/details/47395639

  5. js 练习

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="req_form.aspx.cs ...

  6. IntelliJ IDEA常用快捷键windows

    1 Alt+回车 导入包,自动修正 Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码 Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码( ...

  7. Command: sl (Steam Locomotive)

    You might be aware of command 'ls' the list command and use it frequently to view the contents of a ...

  8. .zip版初次安装mysql时遇到的my.ini、服务无法启动以及设置登录密码的问题

    下载mysql出现的问题 若下载的是.zip版,就是免安装的直接解压就可以的出现的问题 一.需要在E:\mysql\mysql-5.7.14-winx64目录下手动添加my.ini文件(.ini文件是 ...

  9. JSON数据解析

    1 JSON简介 JSON(JavaScript Object Notation),类似于XML,是一种轻量级的数据交换格式,比如在JavaEE中Struts2与Ajax在来回传递数据时,除了可以利用 ...

  10. RabbitMQ 基础概念

    Broker:消息协商器.消息队列的实体,它在TCP/IP等端口上监听AMQ消息 vHost:虚拟主机.功能上类似于web的虚拟主机,都是把数据按照功能或项目的不同划分为不同的虚拟主机:用户只被授予访 ...