python3
1.可变字符串:在python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的只智能创建新的字符串对象,但是我们经常需要原地修改字符串,可以使用io.STringIo对象或array模块。(把字符串生成一个新的字符串对象,不过它是可变的)。
2.基本运算符:比较运算符可以连用;按位或(|)10得1,00得0,11得1,10得1(全零得零);按位与(全1得1),按位异或(同则0,不同则1);加法操作,数字相加,字符串拼接,列表元组等合并;乘法操作,数字相乘,字符串复制,列表元组等复制;python不支持自增自减。
3.运算符优先级问题乘除优先加减为运算和算术运算>比较运算符>赋值运算符。
二、序列
1.序列是一种数据存储方式,用来存储一系列的数据,在内存中,序列就是一块用来存放多个值的连续的内存空间。常用的序列结构字符串、列表、元组、字典、集合
2.列表用于存储任意数目,任意类型的数据集合,列表是内置可变序列,是包含多个元素的有序连续的内存空间字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列。
3.列表的创建:基本语法[]创建,list()创建:可以将任何可迭代的数据转化成列表,range(start,end,步长)创建整数列表其范围[start,end),推导式生成列表。
4.列表的增加与删除:当列表增加或删除时,列表会自动进行内存管理(效率低),一般只在列表的尾部添加元素或删除元素,提高列表的操作效率。
append()原地修改列表对象,在列表尾部添加新的元素,速度最快;+映山湖操作不是真正的尾部添加元素,而是创建新的列表对象,将原列表的元素核心列表的元素依次复制到新的列表对象中,效率比较低;extend()方法,将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象;insert()插入元素,将指定的元素插入到列表对象的任意指定位置,效率比较低,类似函数还有remove(),pop(),del(),即他们在删除非我也不元素时也会发生操作位置后面元素的移动;乘法扩展,使用乘法列扩展列表,生成一个新列表。
列表元素的删除:del删除,删除指定位置的元素;pop()方法,删除并返回指定位置元素,如果我未指定位置,则默认操作列表最后一个元素;remove()方法,删除首次出现的指定元素,若不存在该元素抛出异常。
5.列表元素访问和计数:通过索引直接访问元素,超过这个范围会抛出异常;index()获得指定元素在列表中首次出现的索引,count()获得指定元素在列表中出现的次数;len()返回列表长度;成员资格判断,用count()返回零则表示,不存在返回大于零则表示存在,或in。
6.切片操作:适用于列表元组字符串等等,切片可以让更加快速提取子列表或修改[起始偏移量,终止偏移量,步长]。
7.列表排序:修改原列表,不建新列表的排序,sort()升序,sort(reverse=True),random.shuffle()打乱顺序。
建新列表的排序,内置函数sorted()进行排序,默认升序。
reversed()返回迭代器,它也支持进行逆序排列,与列表对象reverse()方法不同的是,它不对列表作任何修改,只是返回一个逆序排序的列表迭代器对象,可以通过list()转换,迭代器只能用一次。
8.元组:不可变序列,不能修改原主动的元素,元组没有增加修改删除元素的方法。元组的创建,通过()创建,()可以省略,’,'不能省略;通过tuple()创建元组;元组只能使用内置函数sorted(),并生成新的元组。zip()将多个列表对应位置的元素组合成元组,萍,返回这个zip对象。生成器推导式创建元组,生成器推导式生成的是一个生成器对象。
元祖是不可变序列,访问和处理速度比列表快,与整数和字符串一样,元组可以作为字典的键,列表永远不能作为字典的键使用。