php程序员学习python3学习第三天
1,学习字符串操作
# -*- coding:utf-8 -*- #字符串常用操作方法 name = "my \tname is ren and age is {age}" print(name.capitalize()) #将字符串的第一个字母大写 print(name.count("e")) #统计指定字符在字符串中出现的次数 count('e',0,10) 表示在位置0到10之间出现了几次 print(name.center(50,"-")) #使用指定字符将字符串左右填充到指定长度 print(name.expandtabs(tabsize = 30)) #将字符串中的tab转换为指定长度的空格 print(name.endwith('e')) #查看是否是以e结尾的,也可以指定区间查看 startswith() 判断是否以某个字符开始
print(name.find("is")) #查找指定字符的位置 若没有找到返回-1 print(name.format(age = 20)) #格式输出值 print(name.format_map({"age":23})) #格式输出字典中的值 不常用 print('ab12.23'.isalnum()) #字符串中只有字母和数字才返回true,不能包含特殊字符 print('abcd'.isalpha()) #检测字符是否是纯英文字符 print('1'.isdecimal()) #是否是十进制数数字 print('1a'.isdigit()) #是否是一个整数 print('1a'.isidentifier()) #是否是一个合法的变量名 print('1'.isnumeric()) # 判断是否只有数字 print(' '.isspace()) #判断是否是空格 print('My Name'.istitle()) #判断是否是标题 print('asaaa'.islower()) #判断是否都是小写 print('ASFa'.isupper()) #判断是否都是大写 print('-'.join(['a','b','c'])) #将列表使用指定字符转换为字符串 print(name.ljust(50,'-')) #字符串长度不够50的话在末尾用指定字符填充 print(name.rjust(50,'-')) #字符长度不够50的话在开头使用指定字符进行填充 print('ABC'.lower()) #将大写转换为小写 print('abc'.upper()) #将小写转换为大写 print('\nabcd'.lstrip()) #将字符组边的空格或者换行去除 print('\nabcd\n'.rstrip()) #将字符串右边的空格或者换行去除 print('\nabc\n'.strip()) #将字符串两端的空格或者换行去除 等同于php trim # maketrans 将字符串转换位对应的值,使用transalte将值对照转换表转换,不常用 p = str.maketrans("abcd","1234") print('abcdef'.translate(p)) print('abcda'.replace('a','A')) #将字符串中的指定字符使用其他字符进行替换 print('abadea'.replace('a','A',2)) #第三个参数为指定替换字符串中的几个 print('abcdeadfg'.rfind('a')) #查找指定字符最后一次出现的位置 print('a+b+c+d'.split('+')) #将字符串根据指定字符拆为列表 print('1+2+\n+3+4'.splitlines()) #根据换行符将字符串拆为列表 print('My Name'.swapcase()) #将字符串的大小写反转 print('my name'.title()) #将字符串转换为标题,单词首字母大写
2,字典 dict 字典是无序的,键不可以重复,所以天生去重
# -*- coding: utf-8 -*- info = { "stau1": "rcl", "stu2": "yrh", "styu3": "wy" } print(info) #查 print(info["stau1"]) #在确定有这个值的时候使用此方法 #当键不确定是否有的时候 print(info.get("stu22")) #没有时返回none,不报错 #改与增 有则修改,无则新增 info["stu2"] = "haha" print(info) info["sttuas"] = "hehe" print(info) #删 del info["stu2"] print(info) info.pop("sttuas") print(info) info.popitem() #随机删除一个单元 print(info) #判断某个键是否在字典中,如果在则取出,若不在就创建 if 'stu2' in info: #此时python3的语法,在python2中为info.has_key("stu2") print(info["stu2"]) else: info["stu2"] = 'ws' print(info) print(info.values()) #打印所有的值 print(info.keys()) #打印所有的键 ms = info.setdefault("stu2","kkk") #在字典中查找键为stu2的,若找到则返回找到的这个值,若没找到则将后边的值赋给他 print(ms) print(info) msg1 = { "name":"rcl", "age":24, "sex":"man" } msg2 = { "name":"wtl", "area":"bj", 1:3 } msg1.update(msg2) #将两个字典进行合并,如果有重复的键的话进行替代,若无则进行新增 print(msg1) print(msg1.items()) #把一个字典转为列表 c = dict.fromkeys([6,7,8],"aaa") #初始化一个新的字典,同时key按照给定的key生成,值按照参数填充 #此处有一个坑,使用fromkeys初始化字典的时候,生成key都指向内存中的一个地址,因此注意当值有多层的时候,修改一个值就全部修改了 print(c) #字典的循环 for i in info: print(i,info[i]) #建议使用此种方式对字典进行循环 for k,v in info.items(): #info.items()为将字典转为一个列表 但不如上一种方式高效 print(k,v)
3,集合是一个无序的,不重复的数据组合,集合的重要作用,去重,关系测试 把一个列表变成集合,那么他就自动去重了,关系测试时测试两组数据之前的交集,差集合并集等关系
# -*-coding: utf-8 -*- list1 = [1,2,4,5,2,0,1] list2 = set(list1) #{0, 1, 2, 4, 5} 将列表转换为集合 print(list2) list3 = {2,7,0,33,22,67} #取交集 list_inter = list2.intersection(list3) print(list_inter) #取并集 list_union = list2.union(list3) print(list_union) #取差集 list_diff = list2.difference(list3) #保存list2中有的list3没有的 difference_update() 找到list3中不存在的,同时更新list2
print(list_diff) #取子集 print(list2.issubset(list3)) #False #取父集 print(list2.issuperset(list3)) #False list4 = {1,2,4} print(list2.issuperset(list4)) #判断list2是不是list4的父集 #对称差集 print(list2.symmetric_difference(list3)) #取出两个集合去除交集后的集合 #判断两个集合是否有交集 print(list2.isdisjoint(list3)) #False 表示具有交集 #----------使用运算符运算----------- #交集 print(list2 & list3) #并集 print(list2 | list3) #求差集 print(list2 - list3) #求对称差集 print(list2 ^ list3) #---------------集合的增删改查------------- #集合没有插入,只有新增,集合是无序的 list2.add("xx") print(list2) #添加多项 list2.update([10,20,30]) print(list2) #删 list2.remove(0) print(list2) #len 计算集合的长度 print(len(list2)) #判断某个值是否在集合中 #x in list1 #判断字符串,列表,集合,字典都是使用此种语法 #任意删除一个值,同时将该值返回 print(list2.pop()) #删除 print(list2.discard(33333)) #与remove的区别是如果删除一个不存在的数据的话,remove会报错,discard不会报错
-------------------------立码平天下------------------------------