Python集合字典运算符
1.集合2.字典3.运算符优先级
1.集合
创建:{} set([]) 注意:创建空的集合要用set()
特点:元素唯一,无序
运算: & 交集 | 并集 - 差集
方法:
s.add(x) 添加单个元素
s.update() 添加多个元素
s.remove() 移除元素
s.clear() 清空集合
2.字典
创建: {key:value} (大括号创建字典的键时要加引号)
dict(key=value) (括号里赋值方式,名字=对象,不要引号)
字典里的键和值用‘:’隔开,一对键和值组成一个项,项和项之间用‘,’隔开
特点:
键唯一,重复会被重新复制
无序
添加和取值
cidt[key]=value key存在则修改值,没有则添加
属性方法
.update({ }) 在字典中添加多个项
.items() 返回字典的各个项
.keys() 返回字典的键
.values() 返回字典的值
.get(k) 如果键k在,返回键k的值,不存在则返回None
.get(k,x) 如果键k在,返回键k的值,不存在则返回x
.pop(k) 返回并移除键k所对应的元素,不存在则抛出异常
.pop(k,x) 返回并移除键k所对应的元素,不存在则返回x
总结:
key唯一,故可以是数字,字符串,元组
总结:
可变对象:list set dict
不可变对象: str tuple
3.运算符
算术运算符:+ ,- , *, /, %, **,//
赋值运算符:= ,+=,-=, *=,/=,%=, **=
比较运算符:==,!=, >, <, >=,<=
成员运算符:in , not in
身份运算符:is , is not
判断两个名字是否指向同一个对象,当id相同时返回True(==比较运算是判断的值)
逻辑运算符:and,or,not
and(与) 两个条件都满足时才返回True
or(或) 有一个条件满足了就返回True
not(非) 取反
计算顺序:默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它们的计算顺序,你得使用圆括号
结合规律:运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算
'''
** #幂运算
+ - * / % #算术运算符
< > <= >= #比较运算符
== != #比较运算符
= %= /= -= += *= **= #赋值运算符
is is not #身份运算符
in not in #成员运算符
not > and > or #逻辑运算符
'''
info = {'name':'ABC','age':18,'height':170}
print(info['name']) #查找key
print(info.keys()) #查找所有key
print(info.values()) #查找所有value
info = {'name':'ABC','age':18,'height':170}
info['age'] = 17 #替换
print(info)
info = {'name':'ABC','age':18,'height':170}
info.pop('height') #删除
print(info)
info = {'name':'ABC','age':18,'height':170,'child':{'name':'doudou','age':2,'height':90}}
print(info['child']['age']) #取嵌套元素
info = {'name':'ABC','age':18,'height':170}
info.update({'child':{'name':'doudou','age':2,'height':90}}) #增加
print(info)
作业
#python基础 第四次作业 #1.有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c']
# 找出x,y列表中,共有元素 x = [1,2,3,'a','b','c']
y = ['a','b','c'] print(set(x)&set(y)) #2.新建一个字典,用3种方法往字典里面插入值;
#用 4 种方法取出values,用2种方法取出key di = {} di = di.fromkeys(['a','b'],123)
print(di)
di.setdefault('c',456)
print(di)
di.update({'d':789,'e':111})
print(di) print(di['a'])
print(di.get('b'))
print(di.pop('c'))
print(di.values()) print(di.keys())
print(list(di.items())[0][0]) #3. 定义这4个变量,为何有的会报错?分析结果,
#解释出现这种结果的原因。 #s1 = {1,['a','b','c']} #报错原因,集合里的元素要可哈希,列表是不可哈希的
#s2 = {1,('a','b','c')} #元组是可以哈希的,hash(('a','b','c')) #di1 = { 'a':'test',('a','b'):'test'}
#di2 = { 'a':'test',{'a','b'}:'test'} #报错原因,字典的键要可哈希,集合是不可哈希的
Python集合字典运算符的更多相关文章
- Python集合&字典
Python集合&字典 @ 目录 字典 字典的几种定义方式 第一种 第二种 第三种 字典的一些基本操作 通过key得到value 增加字典键值对 删除字典键值对 格式化操作 清空字典 复制字典 ...
- Python基础__字典、集合、运算符
之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I' ...
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- python集合与字典的用法
python集合与字典的用法 集合: 1.增加 add 2.删除 •del 删除集合 •discard(常用)删除集合中的元素 #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...
- python集合可以进行相减
python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...
- Python 基础 常用运算符
Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...
- 【转】Python中的运算符
[转]Python中的运算符 说完常用的数据类型,再来说下运算符.运算符用于将各种类型的数据进行运算,让静态的数据跑起来. 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 ...
- python基础—字典
阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...
- 深入Python(1): 字典排序 关于sort()、reversed()、sorted()
http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...
随机推荐
- Shell编程进阶 1.5 if逻辑判断
逻辑判断 vim if.sh #!/bin/bash ## ## a= ] then echo "a>3" fi sh if.sh a>3 vim if2.sh #!/ ...
- springJunit测试
; m.setModelType(s); m.setModelUrlType(s); modelService.create(m); } } 来源: http://enki-ding-yeah-n ...
- python爬虫--编码问题y
1)中文网站爬取下来的内容中文显示乱码 Python中文乱码是由于Python在解析网页时默认用Unicode去解析,而大多数网站是utf-8格式的,并且解析出来之后,python竟然再以Unicod ...
- 【WebRTC】简介
WebRTC 名称源自网页实时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API.它于2011年6月1日开源并在Goog ...
- ubuntu 12.04 下 eclipse关联 source code
一.JDK source code 命令行中: sudo apt-get install openjdk-7-source 下好的jdk源码在 Linux 在目录 usr/lib/jvm/openjd ...
- 错误信息:"OraOLEDB.Oracle" 返回了消息 "ORA-12154: TNS: 无法解析指定的连接标识符
错误信息:"OraOLEDB.Oracle" 返回了消息 "ORA-12154: TNS: 无法解析指定的连接标识符 链接服务器"NC"的 OLE D ...
- JDBC03 利用JDBC实现事务提交与回滚【调用Connection中的方法实现事务管理】
目录 1 Connection中的重用方法 2 JDBC事务管理经典案例 1 Connection类中常用的方法回顾 1.1 Statement createStatement() throws SQ ...
- String/StringBuilder 类 用对象数组实现登录注册功能
一.需求说明:实现用户注册.登陆功能: 程序中使用一个长度为3的对象数组,存储用户的登录名和密码: 例如如下格式: 登录名 密码 生日 爱好 zhangsan 11 ...
- HDOJ 1121 Complete the Sequence
[题目大意]有一个数列P,它的第i项是当x=i时,一个关于x的整式的值.给出数列的前S项,你需要输出它的第S+1项到第S+C项,并且使整式的次数最低.多测. [数据范围]数据组数≤5000,S+C≤1 ...
- Luogu 3332 [ZJOI2013]K大数查询
BZOJ 3110 很早就想写的试炼场题. 不会整体二分啊呜呜呜,只能写写树套树. 有一个trick就是外层使用一个权值线段树,把位置作为下标的线段树放在内层,这样子的话我们在查询$k$大的时候就可以 ...