Python基础数据类型方法补充
str 补充的方法:
-
capitalize():首字母大写,其余变小写
s = 'liBAI' s1 = s.capitalize() print(s1) # Libai
-
swapcase():大小写翻转
s = 'LiBai' s1 = swapcase() print(s1) # lIbAI
-
title():每个单词首字母大写,其余变小写。以非字母隔开即为每个单词
s = 'libai& dufu@ sushi' s1 = s.title() print(s1) # Libai& Dufu@ Sushi
-
center():居中,要指定总长度,还可设置填充物
s = 'libai' s1 = s.center(10,'&') # 前面参数指定总长度,后面指定除字符串外的填充物,用引号引起来 print(s1) # &&libai&&&
-
find():通过元素找索引,找到第一个即返回值,找不到返回-1
s = 'libai' print(s.find('b')) # 2 print(s.find('z')) # -1
-
index():通过元素找索引,找到第一个即返回值,找不到就报错
s = 'libai' print(s.index('z')) # ValueError: substring not found
tuple 补充的方法:
-
元组中如果只有一个元素,并且没有逗号,例 ('a'),那么它不是元组,它与该元素的数据类型一致。
tu1 = ('s') print(type(tu1)) # <class 'str'> tu2 = ('s',) print(type(tu2)) # <class 'tuple'>
-
index():通过元素找索引,找到第一个即返回值,找不到就报错
-
count():计算某元素出现的次数
s = 'libaidufubaijuyisushi' print(s.count('i')) # 5
list 补充的方法:
-
index():通过元素找索引,找到第一个即返回值,找不到就报错
-
sort():默认对数字从小到大排序,对原列表排序,不会产生新列表
l1 = [2,5,1,7,4,2,] l1.sort() print(l1) # [1, 2, 2, 4, 5, 7] l1 = ['alex','yellow','xyz','blue'] l1.sort() print(l1) # ['alex', 'blue', 'xyz', 'yellow'] 按首字母排序
-
sort(reverse=True): 从大到小
l1 = [4,2,4,5,7,1,3] l1.sort(reverse=True) print(l1) # [7, 5, 4, 4, 3, 2, 1] l1 = ['alex','yellow','xyz','blue'] l1.sort(reverse=True) print(l1) # ['yellow', 'xyz', 'blue', 'alex'] 按首字母排序
-
reverse():将原列表翻转
l1 = [1,'a',3,'x','y'] l1.reverse() print(l1) # ['y', 'x', 3, 'a', 1]
-
列表相加:将两个列表相加为一个新列表
l1 = ['a','b','c'] l2 = [1,2,3] l3 = l1 + l2 print(l3) # ['a', 'b', 'c', 1, 2, 3]
-
列表与整数相乘:将列表重复n次,产生一个新列表
l1 = ['a','b','c'] l2 = l1 * 3 print(l2) # ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']
列表的特性:
- 正向循环一个列表时,如果删除某个元素,那么这个元素后面所有元素都会向前进以为,它们的索引相比之前也会前进一位
- 循环一个列表时,最好不要改变列表的大小,这样会影响最终的结果
# 例:删除列表索引为奇数的元素
li = [11,22,33,44,55]
# 1.直接删除
del li[1::2]
# 2.倒序法删除元素,从末尾往首部删除,被删除元素之前的元素索引不会受到影响。
for i in range(len(li)-1,-1)
if i % 2 == 1:
li.pop(i)
print(li)
# 3.思维置换法
li = [11,22,33,44,55]
l2 = []
for i in range(len(li)):
if i % 2 == 0:
l2.append(li[i])
li = l2
print(li)
dict 补充的方法:
update():
-
字典的增:
dic = {'name':'太白','age': 18} dic.update(sex='男',height=175) print(dic) # {'name': '太白','age': 18,'sex': '男','height': 175}
dic.update([(1,'a'),(2,'b'),(3,'c')])
print(dic)
# {'name':'太白','age': 18,1: 'a',2: 'b',3: 'c'}
# 字典的更新: 键已存在则修改,不存在则添加
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 = dic.fromkeys('abc',[])
print(dic)
# {'a':[],'b':[],'c':[]}
# 一个值若被修改则所有的值都会修改
dic[a].append(666)
print(dic)
# {'a':[666],'b':[666],'c':[666]}
-
list 和 set之间的转换:
#list --> set set(list) #set --> list list(set)
-
所有数据类型都可以转换为bool值:
- 只有以下几个数据转换bool值为False:
'', 0, {}, (), [], set(), None
- 只有以下几个数据转换bool值为False: