数据类型
不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);可哈希
可变数据(两个):List(列表)、Dictionary(字典)。不可哈希
字符串,列表,元祖的索引与切片
索引:例如
str='abcdefg'
str[0]='a'
str[-1]='g'
切片:例如
str='abcdefg'
str[0:4]='abcd' #切片:顾首不顾尾
str[:-1]='abcdef'
str[:]='abcdefg'
str[::2]='aceg'
str[::-1]='gfedcba' #str[首:尾:步长]
公共方法
len();#计算str包含多少字符,list多少元素,dict多少键值对,Tuple多少元素。
.count();#查找字符,元素的出现次数。
type();#判断数据类型,()中输入需要判断的数据。
str常用操作方法
str.capitalize();#字符串首字母大写。
str.upper() ; #字母全部大写。
str.lower();#字母全部小写。
str.isupper();#是否字母全大写。
str.islower();#是否字母全小写。
str.swapcase();#字母大小写反转。
str.title();#字母标题化 每个隔开(特殊字符或数字)的单词首字母大写。
str.center();#字符居中 需要填入参数 width(宽度) 默认fillchar(填充物)为None,可以自己设置填充物。
str.expandtabs();#与Tab( )使用 补充位数。
str.startswith();#检测字符串是否以'什么'为开头,返还True,False。
str.endwith();#检测字符串是否以'什么'为结尾,返还Ture,false。
str.find(); #查找字符串中的元素,返回此元素的下标(索引),找不到返还-1,可切片规定寻找范围。
str.index(); #str.find()类似,如果找不到会报错*
str.strip();#去除前后的空格 如果要去除前面的空格使用str.lstrip(),去除后面的空格使用str.fstrip()。str.strip('需要删除的元素')默认为空格可以更改。
str.split();#str.split('拆分的字符',num)进行拆分把一个字符串转化为一个列表,被拆分的内容不存在。如果设置了num 则切分成num+1次(str>>>list)*
str.rsplit(); # 从右往左分 默认split是从左往右分
str.replace();#替换 str.replace('替换内容','新的内容',次数(默认为全部替换))。
str.isalnum();#字符串是否由数字或字母组成。
str.isalpha();#字符串只由字母组成。
str.isdigit();#字符串只由数字组成。
str.isspace();#字符串只由空格组成。
int常用操作方法
int.bit_length();#把数字转化为二进制最小的位数。
list列表—[]的增删改查
增:
list.append();#在原有列表的基础上在末尾增加元素;直接打印无返还值。
list.insert();#在列表中指定位置插入元素,需要输入两个参数插入的位置和需要插入的内容
list.extend();#迭代增加,()中必须是可迭代对象,增加内容为最小元素。
删:
list.pop();#按索引删除,如果不加索引默认删除最后一个;有返回值 返回删除的值。
list.remove();#按元素去删,无返回值。
list.clear();#清空列表。
del();#删除列表,也可以切片删除部分。
改:
list['需要更改内容的索引']='要更改的内容'#直接通过索引去改;
list.['需要更换切片的内容']='需要更改的内容'(增加的list中以最小元素拆分放入),#先将你需要替换的内容拿出来在放入你需要更改的内容,你需要更改的内容以最小元素分开放入列表中。
查:
list.[索引或切片];#利用索引和切片查找元素。
for i in list:
print(i)#查列表中所有的元素打印出来。
list.index('元素');#通过元素找索引。
排序:
list.sort(cmp=None, key=None, reverse=False)
cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)
list.reverse();#列表的反转。
list补充:
去除多余嵌套的列表(迭代)
def f(x):
ret=[]
for b in x:
if isinstance(b,list):
for a in f(b):
ret.append(a)
else:
ret.append(b)
return ret