python 数据类型
int
long
float
complex
boolean
列表,元组
列表:list []
增删改查
增
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
# 追加到最后一个 name.append[] # 增加xxxxx到下标1 name.insert(1,"xxxxx")
删
# 删除指定内容的元素 name.remove['xxx'] # 删除指定下标的元素 del name[1] # 删除最后一个元素,默认删除最后一个 name.pop(下标)
改
name[3]='23112'
查,切片,切片详细讲解:http://blog.csdn.net/slvher/article/details/44703185
# 显示1和2 name[1:3] # 显示倒数第三到最后,切片顺序是从左到右 name[-3:0] # 从0到最后,每次跳2个 name[0:-1:2]:
# 倒序列表
name[::-1] # 查找内容是21的下标 name.index["21"] # 查找列表中有多少个66 name.count["66"]
清除列表
name.clear()
反转列表
name.reverse()
排序,按照首字母ASCII排序
name.sout()
合并,把list2合并到name里
name.extend(list2)
浅copy
# 复制一份,但是列表里的列表元素会跟着变化,如果想复制出一份独立的数据可以用如下办法 name.copy() n2 = copy.copy(name) n3 = name[:] n4 = list(name)
深copy
import copy list_a = copy.deepcpoy(list_b)
元组tuple():
只读列表 name=("11","22","33")
count
index
字符串
# 字符串可以直接切片 h = "hinimi\tx" #首字符大写 print(h.capitalize()) # 查询多少i print(h.count("i")) #用*补全不足的字符 print(h.center(100,"*")) #编码 print(h.encode()) #判断是否以x结尾 print(h.endswith("x")) #设定字符串中tab的长度 print(h.expandtabs(tabsize=10)) #查找搜选项的索引 print(h[h.find("i"):6]) #格式化输出 name = "my name is {name}, I am {year} old" print(name.format(name='hinimix', year=32)) #格式化映射输出 print(name.format_map({'name':'hinimix', 'year':12})) #是否是阿拉伯数字,包含英文字母和数字 print('12a'.isalnum()) #是否是纯英文字符 print('a'.isalpha()) #是否是十进制 print('222'.isdecimal()) #是否是整数 print('2'.isdigit()) #判断是不是一个合法的标识符 print('-_w请问'.isidentifier()) #是不是空格 print('aaa bb'.isspace()) #检测首字母是否大写,其他小写 print('aAlice'.istitle()) #是否可打印,设备终端文件不能打印,tty等也不行 print('d'.isprintable()) #把字符串类型的列表用指定符号分割 print('--'.join(['1','2','3','4'])) #内容在左边,右边补全 print(name.ljust(50,'*')) #内容在右边,左边补全 print(name.rjust(50,'*')) #小写转化 print('HINIMIX'.lower()) #大写转化 print('hinimix'.upper()) #默认去掉两头的回车和空格,l是去掉左边,r是去掉右边 print('hinimix\n'.lstrip()) print('hinimix\n'.rstrip()) print('hinimix\n'.strip()) #规则的制定和使用 p = name.maketrans("abcdef","123456") print('aaabba'.translate(p)) #把一个b替换成一个SB print('aabbccdd'.replace('b','SB', 2)) #找到最右边的元素的下标 print('hijklmni'.rfind('i')) #分隔 print('hijklmni'.split('i')) #识别不通系统的换行 print('hijklmni'.splitlines()) #单词首字母大写 print('hinimix guan'.title()) #大小写转化 print('hinimix guannNN'.swapcase()) #不够50位用0填充字典 集合 文件 编码转码 内置函数 print("lll".zfill(50))
字典
key-value
无序的,无下标,通过key来找value
#增 info["hinimix"]="231" #删 del info['hinimix'] #指定删
info.pop("sophie") #随即删 info.popitem() #改 info["hinimix"]="wqwq" #更新 test = { "hinimix": "aimizeng", 1:2, 3:4, } info.update(test) #查 print(info["audrey"]) print(info.get("audrey")) #这个用法不会报错,比直接查好 #判断是否在info中,在2.7里是info.has_key('222') print('hinimix' in info) #遍历所有value print(info.values()) #遍历所有key print(info.keys()) #字典里如果能取到,就直接返回,无法取到就赋值 info.setdefault("hinimixxxxx",{"dm.2dupay.com":[1,2]}) #初始化一个字典,赋予默认值 b = dict.fromkeys([1,2,3],"11,22,33") #把字典转化成列表等等 print(info.items())
集合
#集合,无序 list_1 = [1,2,3,4,5,6,7,7,7,7,8] list_2 = set([9,9,9,9.77,1]) print(list_1) #列表转化集合 list_1 = set(list_1) print(list_1) # 交集 print(list_1.intersection(list_2)) print(list_1 & list_2) # 并集 print(list_1.union(list_2)) print(list_1 | list_2) # 差集,1里有,2里没有 print(list_1.difference(list_2)) print(list_1 - list_2) # 子集 print(list_1.issubset(list_2)) # 父集 print(list_1.issuperset(list_2)) # 对称差集,并集去掉交集 print(list_1.symmetric_difference(list_2)) print(list_1 ^ list_2) # 没有交集 print(list_1.isdisjoint(list_2)) # 添加1个 list_1.add(666) # 添加多个 list_1.update([11,22,33]) # 删除,随机删除 list_1.pop() list_1.remove() list_1.discard()
文件
# FILE # 文件句柄,参数分别是文件名,模式,编码 # w新建文件直接写 # r读文件 # r+读写 # w+写读 # rb二进制文件,网络传输,ftp,socket都是用二进制进行传输 # U读取时,可以将\r \n \r\n转换成\n,能与windows适配 # a,append追加内容 f = open("xxx2", "wb", encoding='utf-8') # 打印文件当前指针 print(f.tell()) # 回到指定位置 f.seek(20) # 判断文件能不能seek print(f.seekable()) # 判断文件能不能写 print(f.writable()) # 查看编码 print(f.encoding) # 异常处理 print(f.errors) # 返回文件内存编号 print(f.fileno()) # 打印文件名 print(f.name) # 判断是否是终端设备,与设备交互时候用 print(f.isatty()) # 效率最高,把文件变成了迭代器 for line in f: print(line.strip()) # 强制刷新,写入硬盘,在批量写入之前自己先写入 print(f.flush()) # print(f.buffer) # 从20开始截断 f.truncate(20) # 判断文件是否关闭 print(f.closed) f.close()
# 自动关闭文件
with open("xxx", "r", encoding="utf-8") as f,\
open("xxx2", "w", encoding="utf-8") as b:
for line in f:
if "好吃的" in line:
line = line.replace("好吃的", "大傻逼")
b.write(line)
编码转码 内置函数