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集合字典运算符的更多相关文章

  1. Python集合&字典

    Python集合&字典 @ 目录 字典 字典的几种定义方式 第一种 第二种 第三种 字典的一些基本操作 通过key得到value 增加字典键值对 删除字典键值对 格式化操作 清空字典 复制字典 ...

  2. Python基础__字典、集合、运算符

    之前讨论的字符串.列表.元组都是有序对象,本节则重点讨论无序对象:字典与集合.一.字典 列表是Python中的有序集合,列表中的序指的是列表中的元素与自然数集形成了一个一一对应的关系.例如L=['I' ...

  3. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  4. python集合与字典的用法

    python集合与字典的用法 集合: 1.增加  add 2.删除   •del 删除集合 •discard(常用)删除集合中的元素  #删除一个不存在的元素不会报错 •remove 删除一个不存在的 ...

  5. python集合可以进行相减

    python集合可以进行相减 student = {'tom','jim','mary','tom','jack','rose'} print(student) print('rose' in stu ...

  6. Python 基础 常用运算符

    Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...

  7. 【转】Python中的运算符

    [转]Python中的运算符 说完常用的数据类型,再来说下运算符.运算符用于将各种类型的数据进行运算,让静态的数据跑起来. 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 ...

  8. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用.这里将介绍字典的定义.访问.排序等功能. 字典的创建 字典 ...

  9. 深入Python(1): 字典排序 关于sort()、reversed()、sorted()

    http://www.cnblogs.com/BeginMan/p/3193081.html 一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠 ...

随机推荐

  1. Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法、编程步骤、缓存问题、乱码问题

    目录 1 什么是ajax 2 获取ajax对象 3 ajax对象的属性和方法 4 使用ajax的编程步骤 5 缓存问题 6 乱码问题 1 什么是ajax ajax是一种用来改善用户体验的技术,其本质是 ...

  2. c类库,委托,var ,运算符 is 和 as 。

    类库(Class Library)  格式   .dll  文件 类库   就是类的仓库 c#代码被编译过以后的文件,不可阅读,不可修改,只能调用. 类库是一个综合性的面向对象的可重用类型集合,这些类 ...

  3. Halcon将裁剪后的图像还原为原始大小

    ************************************************************* * Halcon将裁剪后的图像还原为原始大小 * Author: LiGua ...

  4. p1129 [ZJOI2007]矩阵游戏

    传送门 分析 不难想到将黑点的行列连边,然后判断最大匹配是否等于n 代码 #include<iostream> #include<cstdio> #include<cst ...

  5. Git 之 初使用

    什么是Git? Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发.Git ...

  6. JavaWeb_静态导入、自动拆箱/装箱

    静态导入用于简化程序对类静态属性和方法的调用. 语法 import static 包名.类名.静态属性|静态方法|* 例如 import static java.lang.System.out imp ...

  7. C++面试笔记--const、sizeof

    首先来一个关于const的全面的解释,先看一波代码,之后再进行详细的分情况解释 ; const int *a=&b;//指向一个int常量的指针 int const *a=&b;//和 ...

  8. 自动化打包资源混淆集成python实践----资源混淆

    前面自动化打包资源混淆集成python实践----打包一文讲述了四种打包方案,以及美团打包方案.apk注释添加渠道号方案的实现.这里讲集成资源混淆. 1.资源混淆带来的好处: 1)对资源文件起一定的保 ...

  9. MVVM模式WPF的ComboBox数据绑定,使用Dictionary作为数据源

    ViewModel//属性定义 Dictionary<int, string> _selGroupList; /// <summary> /// 分组下拉列表 /// < ...

  10. 使用metasploit进行栈溢出攻击-3

    有了shellcode,就可以进行攻击了,但是要有漏洞才行,真实世界中的漏洞很复杂,并且很难发现,因此我专门做一个漏洞来进行攻击. 具体来说就是做一个简单的tcp server,里面包含明显的栈溢出漏 ...