本篇将Python很多基础的细节之处重新回顾一下,具体更加详细的内容可以参考18年11月份的Python复习知识点一二三
%s 格式化字符串
%d 格式化整数
%f 浮点数
%x 十六进制
左对齐: -
对于左对齐:
强转
int(),str()
列表中索引查询(列表是有序集合)
list =['python','xxs',2012,26626]
list.index(26626)
结果为3,此处注意需数据类型
列表删除(知道指定内容)
list.remove('python')
删除最后一位
list.pop()
添加
已经知道位置进行添加
list.insert(1,'haha')
基于最后一位进行添加
list.append('last')
排序
正序,list.sort()
倒序:list.reverse() 倒序并不是以大小进行排列,而是收尾颠倒
列表的拷贝修改
list2=list
这时候修改list,也会间接修改list2(引用,两个变量指向同一块内存空间)
如果要进行修改不影响list2=list.copy()
删除字典
dict={'hello':1,'python':32,'abc':565}
del dict['python']
dict.pop('hacker')
组合字典
dict={'hello':1,'python':32,'abc':565}
dict2={'hello':3,'python':3}
dict.update(dict2)
元组创建时候,如果只有一个元素,元组创建的后面需要加逗号
tuple=(213,)
元组的增加直接用加号
tuple=(23,35) , tuple2=(3,56) tuple+=tuple2
对于元组的排序,因为元组是不可改变,所以可以通过将元组先转换为列表,进行sort排序,之后再转换回来
转换为列表 list(元组变量) 转换为元组tuple(列表变量)
元组的索引:tuple=(23,6565,3659,32626,23,35,659,23)
查询23出现在第几位,tuple.index(23)
但是这里的23有很多,想要知道有多少个23:tuple.count(23)
赋值:
test1,test2="str1","str2"
for循环
递增:for i in range(10):
print(i)
打印0-9
递减:for i in range(10,-10,-1)
print(i)
递减打印10到-9
打印9*9
正则表达
.表示匹配所有,如果需要匹配所有需要\.转义
\d 匹配任意一个数字
\w 匹配任意一个字母,数字
a="123456"
re.match('/d/d/d',a) 返回“123”
准确匹配:
[a1%] 就匹配 a 1 %
[a-z] 匹配a到z
[^1a%] 不匹配a 1 %
[^1-5w-z]
re.match("pyth[a-z]n","python")
匹配次数
{n} 出现几次
{x,n} 最少出现x次,最多出现n次
{x,} 最少出现x次
a="21312253612156213612"
出现8次数字:re.match('/d/d/d/d/d/d/d/d',a)
可以使用简单方法re.match('/d{8}',a).至少,之多同理
+ 号表示至少出现一次
* 号表示出现过任意次或者不出现,例如:
re.match(".*","python") 这里则全部匹配
re.match(".*abc","python") 这里表示后缀abc的匹配,前面可以不同,后面有abc就行
Re模块函数
- search()
a="15fsad6262"
查询sad:re.search("sad",a)
- group()
a="21abc3123asdggsf213r3sjaidjabc213123abc"
分组:
print(re.search('([0-9]*)([a-z]*)([a-z0-9]*)([a-z]*)',a).group(3))
提取字符
- split("要分割字符",分割的总字符串,分割次数)
a="21abc3123asdggsf213r3sjaidjabc213123abc"
print(re.split('1',a))
显示:['2', 'abc3', '23asdggsf2', '3r3sjaidjabc2', '3', '23abc']
替换字符
- sub('被替换的','替换什么',字符串)
a="21abc3123asdggsf213r3sjaidjabc213123abc"
print(re.sub('1','@',a))
输出:2@abc3@23asdggsf2@3r3sjaidjabc2@3@23abc