Python基础篇——Day3

运算符及其优先级

运算符

指数:**
按位取反:~
乘除、取余、取整:*,/,%,//
加减:+/-
右移、左移运算符:>>,<<
位运算符(与,或,异或):&,|,^
比较运算符:<,==,>,<=,>=,!=,<>
赋值运算符:=,%=,/=,+=,-=,**=,//=
身份运算符:is,is not
成员运算符:in,not in
逻辑运算符:not,or,and

优先级

  1. 乘除优先于加减
  2. 位运算符和算术运算符>比较运算符>赋值运算符>逻辑运算符
  3. 复杂的表达式建议用小括号表示

序列

常见的序列有:

  1. 列表
  2. 元组
  3. 字符串
  4. 字典
  5. 集合

序列中存储的是对象地址(id),而不是对象的值(value),当序列被变量引用时,序列将自己的地址赋予变量

列表

列表时内置可变序列,是包含多个元素的有序连续的内存空间,列表用于存储任意数目,类型的数据。

列表的创建:

  1. 利用[]创建列表,e.g. a=[10,20,30]
  2. 利用list()方法创建,e.g. a=list() #创建一个空列表
    e.g. a=list(range(3)) #a=[0,1,2]
    上式中,range()可以很方便地创建整数列表
    标准表达式:range(start,end,step)
  3. 列表推导式
    e.g. a=[x for x in range(5)] #a=[0,1,2,3,4]

列表元素增删
增删元素时,列表会自动进行内存管理,这可能涉及到列表元素的大量移动,效率较低。因此,除非必要情况下,一般只在列表的尾部增删元素,这样会节省时间,提高效率

增加元素的方法:

  1. append():原地修改列表对象,不创建新的列表对象,速度最快,推荐使用
  2. “+”连接列表元素:并非原地修改列表,而是创建了新的列表对象,效率较低,不推荐使用
  3. extend():将目标列表中的所有元素加到本列表尾部,不创建新的列表对象
  4. insert():将目标元素插入到列表对象的指定位置,不创建新的列表对象。当插入到非尾部位置时,会发生列表元素的移动,在涉及大量数据时,会影响处理速度,类似的方法还有remove(),del(),pop()
  5. 乘法扩展:多次重复原列表中的元素,创建新的列表对象

删除元素的方法:
6. del():删除指定位置的元素
7. pop():删除并返回指定位置的元素,默认为列表最后一个元素
8. remove():删除首次出现的元素,若元素不存在则抛出异常

列表成员资格判断
1)可以用 count() 函数计数,值为0时则指定元素不存在
2)可用用 in 来判断,if ele in list,若存在则返回True,否则返回False

列表切片操作slice
与字符串类似,标准形式:[start: end: step]
原则:提取的列表元素包含起始元素,但不包含终止元素,俗称“包头不包尾”。
[:]:提取整个列表
[start:]:从开头到结尾
[:end]:从开头到(结尾-1)
[::step]:从头到尾,步长为step

列表排序
列表排序在原基础上修改列表,不创建新列表对象
a.sort():对列表a中元素进行升序操作
a.sort(reverse=True):降序
random.shuffle(a):打乱a中元素的顺序,需要先导入random模块

创建新列表对象的排序:sorted()方法
sorted(a):创建一个新列表对象,其中的元素顺序为对a中元素升序排列的顺序
sorted(a,reverse=True):创建一个新列表对象,其中的元素顺序为对a中元素降序排列的顺序

其它:

  1. 求列表元素最大值:max(a)
  2. 求列表元素最小值:min(a)
  3. 求列表元素之和:sum(a)
    etc.

元组

元组是不可变序列,不能修改其中的元素,元组支持:

  1. 索引访问
  2. 切片
  3. 连接
  4. 成员关系操作
  5. 比较运算
  6. 计数,求和,求最大最小值等运算

元组创建
7. ()小括号创建,小括号可省略 e.g. a=(10,20) or a=10, 20
注意:当元组中仅有一个元素时,创建时也不能省略逗号",",如(20, ),否则Python会把这认为是一个整数
8. tuple()方法创建
tuple(可迭代对象)
tuple():创建一个空元组
tuple(‘abc’) # (‘a’,‘b’,‘c’)

tuple()与list():
tuple()可接收列表,字符串,其它序列类型,迭代器等生成元组
list()可接收元组,字符串,其它序列类型,迭代器等生成列表

元组的访问、切片等操作类似于列表
元组的排序,只能使用内置函数sorted(tupleObj),并生成新的列表
e.g. a=(20,10,30),sorted(a)结果为[10,20,30]

zip()方法
zip(list1,list2,list3,…):将多个列表对应位置的元素组成元组,并返回这个zip对象
e.g. a=zip([1,2],[2,3],[4,5])
list(a)结果为 [(1,2,4),(2,3,5)]

若对应位置上有元素缺失,则该位置的元素不组成元组
e.g. a=zip([1,2,4],[2,4,6],[1,3])
list(a)结果为 [(1,2,1),(2,4,3)]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值