一、dict基本操作

dic = {"name":"张三","age":21}
# 增
dic['high'] = 185 # 增加 ,结果:{'name': '张三', 'age': 21, 'high': 185}
dic.setdefault('weight') # 只有不存在的键,默认值为none ,结果:{'name': '张三', 'age': 21, 'weight': None}
dic.setdefault('weight',150) # 没有键值对,增加 ,结果:{'name': '张三', 'age': 21, 'weight': 150}
dic.setdefault('name','金城武') # 已有键,不做任何改变, ,结果:{'name': '张三', 'age': 21}
print(dic)
# 删
print(dic.pop('age')) # 有返回值,按键去删除
print(dic.pop('sex')) # 找不带键,报错
print(dic.pop('sex','找不到')) # 加个none参数,找不到键时,返回第二个参数
print(dic.popitem()) # 随机删除 有返回值,3.6之后删除最后一个
del dic #删除字典
dic .clear() #清空字典
# 改
dic['age'] = 16 # 修改 ,结果:{'name': '张三', 'age': 16}
dic2 = {"age":18,"sex":"male"}
dic.update(dic2) # 修改 ,结果:{'name': '张三', 'age': 18, 'sex': 'male'}
# 查
print(dic.get('name','')) #按键查找,结果:张三
print(dic['name']) #按键查找,结果:张三
print(dic.keys(),type(dic.keys())) #查找所有键,结果:dict_keys(['name', 'age']) <class 'dict_keys'>
print(dic.values()) #查找所有值,结果:dict_values(['张三', 21])
print(dic.items()) #查找所有键值对,结果:dict_items([('name', '张三'), ('age', 21)])
for i in dic: print(i) #循环打印所有键,结果:name age
for i in dic.keys(): print(i) #循环打印所有键,结果:name age
for i in dic.values(): print(i) #循环打印所有值,结果:张三 21

二、dict嵌套操作

dic = {
"name":"敲代码的彭于晏",
"age":"",
"sex":"male",
"hobby":["健身","swimming","敲代码"],
"report":[
{
"name":"language",
"score":85
},
{
"name":"math",
"score":90
},
{
"name":"english",
"score":80
}
]
}
dic["name"] = "ws"
dic["hobby"][1]=dic["hobby"][1].capitalize()
dic["report"][0]["score"] = 100
print(dic)

三、set

set1 = {'死骑','月骑','蝙蝠骑士','龙骑士','混沌骑士'}
set1.add('全能骑士')
set1.update('ABC') #update:迭代着增加
set1.update([1,2,3]) #update:迭代着增加
set1.remove('月骑')      # 删除一个元素
set1.pop() # 随机删除一个元素
set1.clear() # 清空集合
del set1 # 删除集合
print(set1)
#交集、& 、intersection
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 & set2) # 结果:{4, 5}
print(set1.intersection(set2)) # 结果:{4, 5}
#并集、| 、 union
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2) # 结果:{1, 2, 3, 4, 5, 6, 7,8}
print(set2.union(set1)) # 结果:{1, 2, 3, 4, 5, 6, 7,8}
#差集、- 、 difference
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 - set2) # 对set1而言属于set1而不属于set2,结果:{1, 2, 3}
print(set1.difference(set2)) # 结果:{1, 2, 3}
#反交集、^ 、 symmetric_difference
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2) # 结果:{1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2)) # 结果:{1, 2, 3, 6, 7, 8}
#子集与超集
set1 = {1,2,3}
set2 = {1,2,3,4,5,6}
print(set1 < set2)              # 结果:True
print(set1.issubset(set2)) # 这两个相同,都是说明set1是set2子集。结果:True
print(set2 > set1)              # 结果:True
print(set2.issuperset(set1)) # 这两个相同,都是说明set2是set1超集。结果:True

Java转python第二天的更多相关文章

  1. selenium webdriver (python) 第二版

    前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...

  2. PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点

    PHP.Java.Python.C.C++ 这几种编程语言都各有什么特点或优点 汇编: C: Java: C#: PHP: Python: Go: Haskell: Lisp: C++: &l ...

  3. java调用python的惨痛史(无法获取环境变量)

    环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle        事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用pyt ...

  4. Java基础-面向对象第二特征之继承(Inheritance)

    Java基础-面向对象第二特征之继承(Inheritance) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.继承的概述 在现实生活中,继承一般指的是子女继承父辈的财产.在程序 ...

  5. Java 和 Python 解析动态 key 的 JSON 数据

    一.概述 解析JSON过程中,什么情况都可能遇到.遇到特殊的情况,不会怎么办?肯定不是设计的问题,一定是你的姿势不对. 有这样一种JSON需要解析: { "b3444533f6544&quo ...

  6. Java VS Python 应该先学哪个?

    http://blog.segmentfault.com/hlcfan/1190000000361407 http://www.tuicool.com/articles/fqAzqi Java 和 P ...

  7. C/C++、Java、Python谁是编译型语言,谁是解释型语言?

    最近各大互联网公司线上笔试,编程题目里的编译器只支持C/C++.Java,甚至有的支持javaScrpit和Pascal,就是不支持Python.让一直以来用惯了Python的我直吐血,于是今天痛定思 ...

  8. 6月份最新语言排行:Java,Python我更看好谁?

    文章首发于终端研发部,转载,请标明原文链接 今天的主题是:探讨一下6月份语言排行还有我的最新展望! 最近,编程语言排行榜前几天发布更新了,在最新的TIOBE编程语言排行榜中,Java依旧位居第一,但前 ...

  9. java调用python的几种用法(看这篇就够了)

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

随机推荐

  1. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明.RP

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  2. jQuary总结5:传递一个dom对象

    1 传递一个dom对象 //html <div></div> <p id="p"></p> //js var p = documen ...

  3. HDU 6096 String (AC自动机)

    题意:给出n个字符串和q个询问,每次询问给出两个串 p 和 s .要求统计所有字符串中前缀为 p 且后缀为 s (不可重叠)的字符串的数量. 析:真是觉得没有思路啊,看了官方题解,真是好复杂. 假设原 ...

  4. CodeForces 681C Heap Operations (模拟题,优先队列)

    题意:给定 n 个按顺序的命令,但是可能有的命令不全,让你补全所有的命令,并且要求让总数最少. 析:没什么好说的,直接用优先队列模拟就行,insert,直接放入就行了,removeMin,就得判断一下 ...

  5. React Native开发环境的搭建

    我只能说搭建开发环境还是不能相信网上纷乱的博客,还是中文网靠谱. http://reactnative.cn/docs/0.47/getting-started.html 纯粹只是为了记录一下.

  6. sqlplus 简单的几个查询语句

    sqlplus 是用来和oracle进行交互的工具,可以在电脑端使用,也可以在服务器使用 常用命令    show        显示SQL Plus中的信息 connect        先无条件断 ...

  7. 哇,两门学考都是A(〃'▽'〃)

    看来只要拼命去搞,两个月也是可以搞出来的啊~

  8. vim的基本使用

    Vim 编辑器中设置了三种模式—命令模式.末行模式和编辑模式,每种模式分别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手.要想高效率地操作文本,就必须先搞清这三种 ...

  9. MVC4 Action 方法的执行

    1. ActionInvoker 的执行: 在MVC 中  包括Model绑定与验证在内的整个Action的执行是通过一个名为ActionInvoker的组件来完成的. 它同样具有 同步/异步两个版本 ...

  10. OO 抽象方法与虚方法的区别

     抽象方法与虚方法的区别 抽象方法与虚方法的区别: 一.抽象方法: 1.只能在抽象类中定义: 2.不能有方法的实现:(方法体)[因为抽象类无法实例化,所以抽象方法没有办法被调用,也就是说抽象方法永远不 ...