Python基础知识-pycharm版-03

其他的运算符

符号说明
|按位或
^按位异或
&按位与
<<左位移
>>右位移
~按位翻转

注意:python中可以直接写1<a<3。
bin()可将十进制数以二进制显示。
移位时使用 a<<2 表示a 左移2位,相当于乘2*2。
运算符的优先级:虽然有明确的规则,但实际上使用小括号来分隔即可,不必记忆。(乘除优先加减;位运算和算数运算>比较运算>赋值运算>逻辑运算)

序列

序列是一种数据存储方式,用来存储一系列的数据。在内存中,序列就是一块用来存放多个值的连续的内存空间。
python中常用的序列结构有:字符串、列表、元组、字典、集合
变量中存储的是地址,然后根据地址索引值。

列表

用于存储任意数目、任意类型的数据集合,列表的长度可变。
列表对象常用的方法

方法要点描述
list.append(x)增加元素将元素x增加到列表list尾部
list.extend(aList)增加元素将列表aList所有元素加到list尾部
list.insert(index,x)增加元素在列表list指定位置index处插入元素x
list.remove(x)删除元素在列表list中删除首次出现的指定元素x
list.pop([index])删除元素删除并返回列表list指定为止index的元素,默认是最后一个元素
list.clear()删除所有元素删除列表中所有元素,并不删除列表对象
list.index(x)访问元素返回第一个x的索引位置,若不存在x元素则抛出异常
list.count(x)计数返回指定元素x在列表list中出现的次数
len(list)列表长度返回列表中包含元素的个数
list.reverse()翻转列表所有元素原地翻转
list.sort()排序所有元素原地排序
list.copy()浅拷贝返回列表对象的浅拷贝
列表的创建

1.使用[]创建

a=[1,2,'temmie']

2.list()创建,将任何可以迭代的数据转化为列表

a=list(range(10))#结果为[0,1,2,3,4,5,6,7,8,9]
b=list('aaa,temmie')#结果为['a', 'a', 'a', ',', 't', 'e', 'm', 'm', 'i', 'e']

在这里插入图片描述
3.list(range())创建整数列表
list(range(start,end,step))
start:可选,表示起始数字,默认为0。
end:必选,表示结尾数字。
step:可选,表示步长,默认为1。
4.推导式创建列表
在这里插入图片描述

列表元素的增加

如果在列表中间添加内容,添加位置的后面所有内容都要进行移动,是低效率的,因此建议列表的增加或删除尽量在列表尾部。
1.append()方法

a=[2,4]
print(a)
a.append(8)
print(a)

在这里插入图片描述
2.+运算符
对列表进行拼接,会产生新的对象,不建议使用

a=[1,2]
print(a,id(a))
a=a+[3]
print(a,id(a))

地址发生了变动
在这里插入图片描述
3.extend()方法
不会创建新对象

a=[1,2]
print(a,id(a))
a.extend([3,4])
print(a,id(a))

在这里插入图片描述
4.insert()方法
将某个元素插入对象的任意位置,这样就会导致前面说的大量数据需要变更位置,效率很低。

a=[0,1,2,3,4]
print(a)
a.insert(2,'!')
print(a)

在这里插入图片描述
5.乘法扩展
在这里插入图片描述

列表元素的删除

1.del删除

a=list(range(0,10,1))
print(a)
del a[1]
print(a)

在这里插入图片描述
2.pop()方法
删除并返回指定位置元素,如果未指定则默认操作列表的最后一个元素。

a=[0,1,2,3,4,5]
print(a.pop(),a)
print(a.pop(0),a)

在这里插入图片描述
3.remove()方法
删除首次出现的指定元素,若不存在则抛出异常。
在这里插入图片描述

列表元素的访问与计数

1.通过索引访问
索引范围从0到n-1
2.index()语法
获得指定元素在列表中首次出现的索引。
还可以写index(start,end)规定搜索的起始与结束。
3.count()语法
返回指定元素在列表中出现的次数。
4.len()语法
返回列表的长度,即包含元素的个数。
5.in判断
a in b判断a是否在b中,在返回True,否则返回False

列表的切片操作

slice可以快速提取子列表或修改。
参考字符串的切片,差别在于字符串的是提取字符,这里是提取元素。

列表的遍历

相当于 for x in range()
将range换成列表,这样x就一次取得列表的元素值。

列表的排序

无论字符串还是数字、字母都能排序。
1.修改原列表,不创建新列表的排序。

a=[0,1,5,6,3,4,2.1]
a.sort()#默认升序排序
a.sort(reverse=True)#降序排序

在这里插入图片描述
随机排序

import random
a=[0,1,2,3,4,5]
random.shuffle(a)
print(a)

在这里插入图片描述
2.创建新列表,不修改原列表
使用sorted()创建新的对象。其他格式和sort()一样。
3.reversed()迭代器实现翻转
迭代器只能使用一次。

a=[0,1,2,3,4,5,6]
b=reversed(a)#b现在是一个迭代器,不是翻转后的结果
print(b,list(b))

在这里插入图片描述

其他
语法说明例子a=[3,10,20,15,9]
max返回列表最大值max(a)>>20
min返回列表最小值min(a)>>3
sum对数值型列表求和,非数值型报错sum(a)>>57

多维列表

多维列表就是列表套列表
[[列表1],[列表2],[列表3],[列表4]]
以二维为例
二维列表样式如下:
在这里插入图片描述
为了实现这个列表,我们可以将它写成

a = [
["高小一",18,30000,"北京"],
["高小二",19,20000,"上海"],
["高小一",20,10000,"深圳"],
]
for m in range(3):
	for n in range(4):
		print(a[m][n],end="\t")
	print() #打印完一行,换行

在这里插入图片描述

元组

tuple,元组是不可变序列,创建后完全不能修改
元组支持的操作:1.索引访问;2.切片操作;3.连接操作;4.成员关系操作;5.比较运算操作;6.计数,包括元组长度len(),最大值max(),最小值min(),求和sum()等。操作方法与列表相同
对元组进行排序需要使用sorted,但产生是列表对象。
zip()语句,zip(列表1,列表2,列表3)可以将多个列表组成元组,并返回这个zip对象。

a=[1,2,3]
b=[4,5,6]
c=[7,8,9]
d=zip(a,b,c)
print(d)
e=list(d)
print(e)

在这里插入图片描述

元组的创建

1.使用()创建元组,小括号可以省略

a=(1,2,3)
b=1,2,3
print(a,'\n',b)

在这里插入图片描述
2.tuple()语法创建元组
使用方法同list()语法。

a=tuple(range(10))#结果为(0, 1, 2, 3, 4, 5, 6, 7, 8, 9) 
b=tuple('aaa,temmie')#结果为 ('a', 'a', 'a', ',', 't', 'e', 'm', 'm', 'i', 'e')
print(a,'\n',b)

在这里插入图片描述
如果你的元组中只有一个元素,那么它应该写成如:a = (1,)或a = 1,的样式,否则会被认为是一个数。
3.生成器推导式生成元组
方法与列表使用生成器方法相同。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值