python集合运算符_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'} #报错原因,字典的键要可哈希,集合是不可哈希的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值