序列
一.列表,元组和字符串的共同点
1.都可以通过索引获取每一个元素
2.第一个元素的索引值都是0
3.都可以通过切片的方法获取一个范围
4.都有很多共同的运算符
(列表,元组,字符串统称为序列)
二.序列
列表是可变序列
元组和字符串都是不可变序列
三.每一对象都有三个基本属性
1.唯一标识:一个代表指定对象的唯一标识的整数值
PS:因为列表可变,所以其唯一标识在其“变胖”后不会变,而元组是不可变的,所以在其“变胖”后其实是一个新的元组,所以其唯一标志改变了
2.类型
3.值
四.同一性运算符
1.is和is not(是非)
用于检测对象的id值是否相同,从而判断是否为同一对象
2.in和not in(包含)
in判断某个元素是否包含在序列中(not in相反)
3.del语句
(1).用于删除一个或多个指定的对象
(2).还可以删除可变序列中的指定元素
4.clear
x.clear()可以清除列表里面的所有元素
PS:判断是否为子母序列
三.列表,元组,字符串相互转换
1.list函数,tuple函数,str函数
第一个是转化成列表
第二个是转化成元组
第三个是转化成字符串
2.min函数,max函数
(比较的是编码值,即为数字大小和26个字母的顺序大小)
PS:大写字母的编码值在小写字母之前(即大写字母比较小)
当列表(字符串)中什么都没有的时候,可以用default来打出当是个空的时候的输出
3.len函数,sum函数
len函数参数太大会报错(超过某个数值)(32位平台:2的31次方-1)
(64位平台:2的63次方-1)
sum函数是将数都加起来(start是表示从多少开始加)
4.sorted函数,reversed函数
sorted返回的是一个全新的列表
s.sort()则是改变原来的列表
sorted排列的是编码值(第一个一样会退到第二个)
key参数指定干预算法的函数(key=len,比较的是长度)
t.sort同上
sorted可以接受任何形式的可迭代对象
reversed返回的是一个参数的反向迭代器(可迭代对象)
通过list(reversed())表现和s.reverse()一样的效果
5.all函数,any函数
all函数判断可迭代对象中所有元素的值是否都为真
any函数则是判断可迭代对象中是否存在某个值为真
6.enumerate函数
用于返回一个枚举对象,将可迭代对象中的每个元素及从0开始的序号共同构成一个二元组的列表
(可从其他的数字开始)
7.zip函数
创建一个聚合多个可迭代对象的迭代器,会将作为参数传入的每个可迭代对象的每个元素依次组合成元组。
(跟随最短的那个)
PS:itertools函数
可通过其,将其遵循最长的那个,没有的自动填充None
8.map函数
根据提供的函数对指定的可迭代对象的每个元素进行运算,并将返回运算结果的迭代器
如:用ord函数来对后面的”FishC“进行运算
9.filter函数
会根据提供的函数对指定的可迭代对象的每个元素进行运算,并将运算结果为真的元素,以迭代器的形式返回(只有结果是True,才会被筛选出来)
迭代器和可迭代对象
1.迭代器是一个可迭代对象
可迭代对象可以重复操作
迭代器则是一次性的
2.iter函数(可以将可迭代对象转化成迭代器)
PS:其中type表示其类型,next则是从中抽取(可以运算抽取完后输出的值)
字典
字典是Python中唯一实现映射关系的内置类型(一一对应)
冒号左边是字典的键,右边是值
一.字典的基础
1.字典的样子
2.从字典中输出值和加入键与值
3.创建字典的方法
a.直接使用大括号和冒号
b.用dict函数(用等号挂钩,键不可加引号)
c.使用列表作为参数,列表中的每个元素是使用元组包裹起来的键值对
d.将第一种方法作为参数传递给dict
e.混合法
f.zip函数也可作为参数传递给dict函数的
二.增删改查
1.增:fromkeys
字典中不会出现重复的键值对,重复就用新值替代
(可进行单一字典的替换)
2.删:pop(删除指定元素),popitem(删除最后一个加入字典的键值对),del(可以删除指定的关键元素,也可以删除整个字典),clear(可以清空全部内容)
3.改:update(同属传入多个键值对,直接传入另一个字典,一个包含键值对的可迭代对象)
4.查:get(key【,default】)(指定当找不到键的时候返回的值)
setdefault(key【,default】)(查找一个键是否存在字典中,在,返回对应的值,不在,指定一个新的值)
items(),keys(),values()分别用于获取字典的键值对,键和值三者的视图对象(字典的动态视图,意味当字典内容变化,视图对象的内容也会随之改变)
5.copy方法(浅拷贝)
6.其他小功能:len测长度,in和not in,list转化成列表,iter将键构成迭代器,可用reversed将其倒过来!
三.嵌套
1.可以将列表嵌套进去
四.字典推导式
1.将键值对的键和值进行调换
2.可用if条件语句
3.求出字符串的编码值
4.双循环(先x,再y,2,4都最后都被6覆盖了)