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. 【codeforces 630E】A rectangle

    [题目链接]:http://codeforces.com/problemset/problem/630/E [题意] 给你一个矩形的区域; 然后让你统计这个矩形区域内,有多少个正六边形. [题解] 规 ...

  2. KindEditor 上传图片浏览器兼容性问题

    1.使用 KindEditor 的图片上传插件时,需要返回如下格式的 JSON 数据 //成功时 { "error" : 0, "url" : "ht ...

  3. 使用hbase遇到的问题

    1.在使用hbase的时候 有很多问题,其中一个 使用sqoop import 从mysql 向hbase导入数据,报错:Error: java.lang.RuntimeException: Coul ...

  4. SpringAOP之CGLIB字节码增强

    SpringAOP的基础原理就是动态代理 有两种实现方式:1)jdk动态代理 2)cglib动态代理 jdk动态代理和cglib动态代理的区别在于: cglib没有接口(通过继承父类) 只有实现类.  ...

  5. HDU——T 2119 Matrix

    http://acm.hdu.edu.cn/showproblem.php?pid=2119 Time Limit: 5000/1000 MS (Java/Others)    Memory Limi ...

  6. 杭电1596 find the safest road

    find the safest road Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  7. class.forName的官方使用方法说明

    原文地址:http://yanwushu.sinaapp.com/class_forname/ 使用jdbc方式链接数据库时会常常看到这句代码:Class.forName(String classNa ...

  8. html页面的简单对话框(alert, confirm, prompt)

    html页面简单的三种对话框例如以下: 1.alert(),最简单的提示框: alert("你好!"); 2.confirm(),有确认和取消两个button: if(confir ...

  9. hdu_2191多重背包

    用二维数组解的,因为忘了memset害我wa了好几发... #include<iostream> #include<cstdio> #include<cstring> ...

  10. iOS开发 之 不要告诉我你真的懂isEqual与hash!

    目录 为什么要有isEqual方法? 如何重写自己的isEqual方法? 为什么要有hash方法? hash方法什么时候被调用? hash方法与判等的关系? 如何重写自己的hash方法? 为什么要有i ...