2.3字典

  字典是键值对的无序可变序列。键值之间用冒号隔开,相邻元素之间用逗号隔开,所有元素放在大括号之间{},键可以是Python中所有不可变的数据,不能用列表、元组、字典作为字典的键,键不可重复,值可以重复。

   globals()函数可以返回查看包含当前作用域内所有全局变量和值的字典,locals()函数返回当前作用域内所有局部变量和值的字典。

    例:

    >>>a=(1,2,3,4,5)

    >>>b='Hello world.'

    >>>def demo():

    a=3

    b=[1,2,3]

    print('locals:',locals())

    print('globals:',globals())

    >>>demo()

得到:locals:('a':3,'b':[1,2,3]}

   globals:{'a':(1,2,3,4,5),'b':'Hello world.','_builtins_':<module......}

2.3.1字典的创建与删除

   1.使用=将一个字典赋值给一个变量即可创建一个字典变量

   2.可以用dict()函数来用已有数据快速创建字典

    >>>keys=['a','b','c','d']

    >>>values=[1,2,3,4]

    >>>dictionary=dict(zip(keys,values))

    >>>print(dictionary)

   3.可以以给定内容为“键”,创建“值”为空的字典:

    >>>adict = dict.fromkeys(['name','age','sex'])

  删除:del加字典名称

2.3.2字典元素的读取

  字典的下标是键

一般方法:

  >>>aDict={'name':'Dong','sex':'male','age':37}

  >>>aDict['name']

  'Dong'

get()方法:print(aDict.get('address'))

items()方法可以返回字典的“键值对”列表,使用字典对象的key()方法可以读取键,使用字典对象的values()方法可以读取值

2.3.3字典元素的添加与修改

  1、给指定键的元素赋值时,如果有这个键,就给其赋值,如果没有这个键就新建一个键值对

  2、使用update()方法可一个将另一个字典中的“键值对“一次性的全部添加到当前对象中

    aDict.update({'a':'a','b':'b'})

  删除

  1、使用del命令删除指定键对应的元素

  2、使用clear()方法来删除字典中的所有元素

  3、使用Pop()方法删除并返回指定键的元素

  4、使用popitem()方法删除并返回字典中的一个元素

2.4集合

  集合是无序可变序列,和字典一样使用一对大括号来作为界定符,同一个集合元素不允许重复。

  2.4.1集合创建

    1、直接=赋给一个变量

    2、使用set()函数将列表、元组等其他可迭代对象转换成集合,如果原来的元素存在重复,那么只保留一个。

      >>>a_set=set(range(8,14))

      >>>b_set=set{[0,1,2,3,4,5,6,7,8])

    3、使用一个add()方法来增加元素,可以用del()方法来删除整个集合(pop(),remove(),clear()方法都可以)

  2.4.2集合运算

    并运算:>>>a_set|b_set

        >>>a_set.union(b_set)

    交运算: >>>a_set&b_set

        >>>a_set.intersection(b_set)

    差运算:>>>a_set-b_set

        >>>a_set.difference(b_set)

3、Python字典集合的更多相关文章

  1. python -- 字典 集合

    1.字典          定义:字典是以 key :value 的形式来保存数据,用{} 来表示,存储的是 key : value        查找效率比较高(注:字典存储数据时,用的是hash值 ...

  2. python --->字典 集合 学习笔记

    1.字典--->创建空字典:dict={} broa=["李宁",”耐克“,“阿迪达斯”,“鱼c工作室”] sloga=[“A”,“B”,“C”,“D”] dict={&qu ...

  3. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  4. Python学习笔记3-Python元组、数组、字典集合的操作

    在Python中数组中的每一项可以是不同的数据类型 元组:只能读不能写的数组 aTuple=(1,'abc','tmc',79.0,False) print aTuple[1:3] print typ ...

  5. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  6. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  7. Python 字典dict 集合set

    字典dict Python内置字典,通过key-value进行存储,字典是无序的,拓展hash names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75 ...

  8. Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据

    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...

  9. 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧

    实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...

随机推荐

  1. vue懒加载实现

  2. com.alibaba.fastjson.JSONPathException: expect '], but 'y'

    今天遇到这样的一个错误 网上查找了各种资料,终于找到了报错的原因: String dataType = (String) JSONPath.eval(dataset.getSchema(), &quo ...

  3. java文件对照工具

    今天想比較一下两个java文件.这两个文件是本地的. 就在网上下载了一个对照工具(破解版)认为挺好用的对于不同的地方有高亮显示. 就给大家分享一下.软件名叫:beyond compare 软件下载地址 ...

  4. C/C++易错难点笔记01

    疑惑点 C++是一门奇妙的语言.非常多时候你对底层不熟悉,非常难知道某些情况下的结果,以下是我不断积累的疑惑点,这里将其记录下来. 类的转换问题 代码: class A{ public: virtua ...

  5. WPF silverlight获取子控件(获取DataTemplate里的子控件)

    public static class VisualTreeExtensions { /// <summary> /// 获取父节点控件 /// </summary> /// ...

  6. Perl怎样过滤html标签

    比方一串字符串 <div><b>123</b></div> 假设仅仅想拿到123怎么办呢? 用perl的正則表達式能够非常easy的做到. $str = ...

  7. 如何让Java写的程序,脱离Eclipse在别人的电脑上运行?

    Java程序运行,离不开JRE. 将JRE文件夹拷贝出来, 将编写程序的bin文件夹拷贝出来, 再编写一个bat文件. start jre\bin\javaw.exe -cp .\bin\ -Djav ...

  8. vuejs2.0 文档

    http://vuejs.org/   vuejs2.0 英文文档 https://vuefe.cn/    vuejs2.0 中文文档

  9. Re:从 0 开始的微服务架构--(三)微服务架构 API 的开发与治理--转

    原文来自:聊聊架构公众号 前面的文章中有说到微服务的通信方式,Martin Folwer 先生在他对微服务的定义中也提到“每个服务运行在其独立的进程中,服务与服务间采用 轻量级的通信机制 互相协作(通 ...

  10. SparkShuffle调优原理和最佳实践

    在网络层,互联网提供所有应用程序都要使用的两种类型的服务,尽管目前理解这些服务的细节并不重要,但在所有TCP/IP概述中,都不能忽略他们: 无连接分组交付服务(Connectionless Packe ...