基本类型的补充
1.str
s1 = 'taiBAi' # capitalize 首字母大写,其余变小写 print(s1.capitalize()) #Taibai # swapcase 大小写翻转 print(s1.swapcase()) #TAIbaI # title #每个单词的首字母大写 msg= 'taibai say3hi' print(msg.title()) #Taibai Say3Hi #center # 居中 s1 = 'barry' print(s1.center(20)) # barry print(s1.center(20,'*')) # *******barry******** # find :通过元素找索引,找到第一个就返回,找不到 返回-1 # index:通过元素找索引,找到第一个就返回,找不到 报错 s1 = 'barry' print(s1.find('a')) #1 print(s1.find('r')) #2 print(s1.find('o')) #-1 print(s1.index('o')) #报错
2.tuple 元组
# 元组中如果只有一个元素,并且没有逗号,那么它不是元组,它与改元素的数据类型一致。 *** tu1 = (1,) print(tu1,type(tu1)) #(1,) <class 'tuple'> tu = (1,2,3,3,3,2,2,3,) # count 计数 print(tu.count(3)) #4 tu = ('太白', '日天', '太白') # index print(tu.index('太白')) #0
3。list 列表
l1 = ['太白', '123', '女神', '大壮'] # index print(l1.index('大壮')) #3 # sort ** l1 = [5, 4, 3, 7, 8, 6, 1, 9] l1.sort() # 默认从小到大排序 print(l1) #[1, 3, 4, 5, 6, 7, 8, 9] l1.sort(reverse=True) # 从大到小排序 ** print(l1) #[9, 8, 7, 6, 5, 4, 3, 1] l1.reverse() # 反转 ** print(l1) #[9, 1, 6, 8, 7, 3, 4, 5] # 列表可以相加 # l1 = [1, 2, 3] # l2 = [1, 2, 3, '太白', '123', '女神'] # print(l1 + l2) #[1, 2, 3, 1, 2, 3, '太白', '123', '女神'] # 列表与数字相乘 # l1 = [1, 'daf', 3] # l2 = l1*3 # print(l2) #[1, 'daf', 3, 1, 'daf', 3, 1, 'daf', 3] l1 = [11, 22, 33, 44, 55] # 索引为奇数对应的元素删除(不能一个一个删除,此l1只是举个例子,里面的元素不定)。 # *** 重要 # 最简单的: del l1[1::2] print(l1) #[11, 33, 55] # 倒序法删除元素 # for index in range(len(l1)-1,-1,-1): # if index % 2 == 1: # l1.pop(index) # print(l1) ##[11, 33, 55] # 思维置换 l1 = [11, 22, 33, 44, 55] new_l1 = [] for index in range(len(l1)): if index % 2 ==0: new_l1.append(l1[index]) # print(new_l1) l1 = new_l1 print(l1) # 循环一个列表的时,最好不要改变列表的大小,这样会影响你的最终的结果。
4.字典
# 字典的补充 # update ***更新,有则覆盖,无责添加 dic = {'name': '太白', 'age': 18} dic.update(hobby='运动', hight='175') print(dic) #{'name': '太白', 'age': 18, 'hobby': '运动', 'hight': '175'} dic.update(name='太白金星') print(dic) #{'name': '太白金星', 'age': 18} dic.update([(1, 'a'),(2, 'b'),(3, 'c'),(4, 'd')]) # 面试会考 print(dic) #{'name': '太白', 'age': 18, 1: 'a', 2: 'b', 3: 'c', 4: 'd'} dic1 = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic1.update(dic2) # print(dic1) # {'name': 'alex', 'age': 18, 'sex': 'male', 'weight': 75} print(dic2) #{"name":"alex","weight":75} # fromkeys dic = dict.fromkeys('abc', 100) print(dic) #{'a': 100, 'b': 100, 'c': 100} #如果100改变的话。全部都一起改变 dic = dict.fromkeys([1, 2, 3], 'alex') print(dic) # {1: 'alex', 2: 'alex', 3: 'alex'} # 坑:值共有一个,面试题 dic = dict.fromkeys([1,2,3],[]) dic[1].append(666) print(dic) #{1: [666], 2: [666], 3: [666]} dic = {'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18} # 将字典中键含有'k'元素的键值对删除。 第一种 l1 = [] for key in dic: if 'k' in key: l1.append(key) print(l1) #['k1', 'k2', 'k3'] for i in l1: dic.pop(i) print(dic) #{'age': 18} 第二种 for key in list(dic.keys()): # ['k1', 'k2', 'k3','age'] 强转成列表 if 'k' in key: dic.pop(key) print(dic) #{'age': 18}
注意一点: fromkeys() ,前面参数是可迭代的,后面的value值.跟着可迭代对象,如果value值有变动..所有的值都跟着变动