day3笔记

可变字符串

import io
a="abcd"
a_1=io.StringIO(a)
a_1.seek(2)
a_1.write("z")
print(a_1.getvalue())

out:abzd

运算符总结

  1. 按位运算:|,^,&。按位或,按位异或,按位玉运算。
  2. bin(数字),是把十进制转化成二进制0b***
  3. 左移右移。a<<“数字”。a<<2说明左移两位,把a乘以2,乘2次。如果a=3,就是322。【注意】这个是乘以2最快的方法
  4. a>>"数字"是除法。

【重要】序列

python中一切都是对象。
在这里插入图片描述
【注意】a是一个列表,[10,20,30,40]是一个对象,里面的4个数也是4个对象。黄色的框框里放的是4个对象的id,而不是value,然后在变量a这个框框里放的是列表对象的id,而且列表也有索引,列表a通过索引去找列表里的对象,然后找到对象的id地址,再去取值。

列表简介

列表的创建

  1. a=[1,2,“aa”],创建了列表a。
  2. a=[].创建空列表。
  3. a=list(),创建了一个空的列表对象。如果a=“abcd”,list(a)之后,就是把"abcd"拆分了,输出如下:
    在这里插入图片描述

通过range()创建整数列表

range([start],end,[end])。【注意】这里的中括号是可选的意思,这里生成的是整数列表,没有字符。

推导式生成列表

range生成整数列表后,可以通过for循环进行计算,但注意,最终运算结果要放入a的列表中,也就是[]中括号之中,而且可以加入条件判断语句

a=[x*2 for x in range(5)]
a=[x*2 for x in range(5) if x%9==0]

列表的增加和删除

不管增加还是删除,都会对列表的内存进行修改。一般只在列表的尾部添加和删除元素,而不是从中插入,因为从中插入之后,就会涉及大量的拷贝操作,拷贝之后整体往后挪窝,才能空出一个内存给要插入的元素。

增加

a.append([元素])

+运算符操作

并不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素和新列表的元素依次复制到新的列表对象中。这样,会涉及大量的复制操作,对于操作大量元素不建议使用。

extend()方法

将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。
一般两个列表拼接,使用extend。

insert()插入函数

insert([索引],[元素])

乘法扩展

列表的乘法,把列表内的内容重复多次,但是都放到同一个列表中

列表元素的删除

  1. del删除。del[数组名][[索引]]
    也是涉及数组拷贝。
  2. [数组名].pop()方法。删除并返回指定位置的元素,如果不指定就默认最后一个元素。
  3. [数组名].remove([元素名字])方法。删除首次出现的元素,如果不存在就抛出异常。【注意】这里数元素,而不是索引。

列表元素访问和计数

通过索引直接访问元素

index()获得指定元素在列表中首次出现的索引。[数组名].index([元素名])。注意,此处不是索引,而是元素。第二种语法是index(value,start,end),意思是搜索value这个元素,从start开始end结束。

count()获得指定元素在列表中出现的次数。[数组名].count([元素名])

len()返回列表长度

成员资格判断

列表_切片操作(截取子列表)

列表排序

修改原列表,不新建列表的排序。[].srort。默认是升序排序
降序排序:[].srort(reverse=True)
打乱顺序:random.shuffle([数组名])

新建列表的排序

可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。
[新列表的名字].sorted([原列表名字])
c = sorted(a,reverse=True) #降序

reversed()返回迭代器

max(),min(),sum()

多维列表

二维列表

元组

列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的
元素。因此,元组没有增加元素、修改元素、删除元素相关的方法。

元组的创建tuple

  1. 小括号创建,列表是中括号。小括号也可以省略
    a=(1,2,3)
    a=1,2,3
  2. 通过tuple()创建元组。b=tuple(),b=tuple(“abc”),等

元组的元素访问和计数

和列表一样。但是返回的是元组。
【注意】列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数sorted([元组名字]),并生成新的列表对象。

zip

zip(列表1,列表2,…)将多个列表对应位置的元素组合成为元组,并返回这个zip 对象直接输出是输出不出来的哈。必须转化成列表。

生成器(generator)推导式(再看)

a=(x*2 for x in range(2))这时候返回的是一个生成器,需要list()或者tuple

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值