数据类型的内置方法(补充)
内容概要
针对上一期没有说完的内容进行补充 主要是数据类型的内置方法
1. 字符串其他内置方法(较多)
- 大小写
例:
name = 'JaSOn'
转全大写:
关键词:upper
print(name.upper())
结果:
name = 'JASON'
转全小写
关键词:lower
print(name.lower())
结果:
name = 'jason'
2. 判断字符串是否以指定的字符开头
关键词:startswith
例:
3. 判断字符是否以指定的字符结尾
关键词:endswith
例:
4. 格式化输出
关键词:format
-
作用相当于占位符
直接用大括号
例:
s1 = 'my name is {} my age is {}'
print(s1.format('jason',18))
结果:
my name is jason my age is 18
-
大括号内写索引值可以打破顺序 并且可以反复使用相同位置的数据
-
大括号内写变量名
5.字符串的拼接
-
字符串相加
print('hello' + 'world')
-
join方法
name_list = ['jason', 'tony', 'kevin', 'tom', 'jack']
print(name_list[0] + '|' + name_list[1] + '|' + name_list[2] + '|' + name_list[3] + '|' +name_list[4])
print('|'.join(name_list))
需要注意:
必须是字符串类型
6. 替换字符串中指定的字符
关键词:replace
s2 = 'my name is tony tony tony my age is 18'
-
替换字符串中所有的tony>>>jason
rint(s2.replace('tony', 'jason'))
结果:
my name is jason jason jason my age is 18
-
替换指定个数的文本
print(s2.replace('tony', 'jason', 1))
结果:
my name is jason tony tony my age is 18
7. 判断字符串中是否是纯数字
关键词:isdigit
s3 = 'my age is 18'
print(s3.isdigit())
结果:
Flase
s4 = '123'
print(s4.isdigit())
结果:
True
8. 字体格式相关
-
所有单词首字母大写
关键词:title
s5 = 'my name is jason my age is 18'
print(s5.title())
结果:
My Name Is Jason My Age Is 18
-
开头的单词首字母大写
关键词:capitalize
print(s5.capitalize())
结果:
My name is jason my age is 18
-
大小写互换
关键词:swapcase
s6 = 'JaSOn iS Sb'
print(s6.swapcase())
结果:
jAsoN Is sB
-
查看指定字符对应的起始索引值
关键词:find
s7 = 'my name is jack sb sb sb somebody sb sb sb sb sone sb sone'
print(s7.find('s'))
结果:
print(s7.find('w'))
找不到返回结果-1
print(s7.index('w'))
找不到直接报错
- 统计某个字符出现的次数
关键词:count
s7 = 'my name is jack sb sb sb somebody sb sb sb sb sone sb sone'
print(s7.count('sb'))
结果:
9.列表基本方法
格式:
数据类型关键字+(需要转换的数据)
list关键字可以将支持for循环的数据类型转换成列表
print(list('hello')) 返回:['h', 'e', 'l', 'l', 'o']
print(list({'username': 'jason', 'pwd': 123})) 返回: ['username', 'pwd']
print(list((11, 22, 33))) 返回: [11, 22, 33]
print(list({11, 22, 33})) 返回: [33, 11, 22]
10. 列表修改、添加数据
-
修改值
通过索引修改
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list[0] = 555
print(name_list)
结果:
[555, 'kevin', 'tony', 'jack']
-
添加值
1.尾部追加
关键词:append
将括号内的数据当成一个整体追加到列表末尾
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.append(555)
print(name_list)
结果:
['jason', 'kevin', 'tony', 'jack', 555]
name_list.append([666, 777, 888, 999])
print(name_list)
结果:
['jason', 'kevin', 'tony', 'jack', [666, 777, 888, 999]]
2.插入元素
关键词:insert
将括号内的数据当成一个整体插入到索引指定位置
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.insert(0, 'heiheihei')
print(name_list)
结果:
['heiheihei', 'jason', 'kevin', 'tony', 'jack']
name_list.insert(2, 'heiheihei')
print(name_list)
结果:
['heiheihei', 'jason', 'heiheihei', 'kevin', 'tony', 'jack']
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.insert(0, [11, 22, 33])
print(name_list)
结果:
[[11, 22, 33], 'jason', 'kevin', 'tony', 'jack']
3.扩展元素
关键词:extend
相当于for循环+append操作
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.extend([111, 222, 333, 444, 555])
print(name_list)
结果:
['jason', 'kevin', 'tony', 'jack', 111, 222, 333, 444, 555]
使用for循环
l1 = [111, 222, 333, 444, 555]
l2 = [1, 2, 3, 4, 5]
for i in l2:
l1.append(i) # 将l2中元素追加到l1末尾
print(l1)
结果:
[111, 222, 333, 444, 555, 1, 2, 3, 4, 5]
11.列表删除数据
-
通用删除方式
关键词:del
name_list = ['jason', 'kevin', 'tony', 'jack']
del name_list[1]
print(name_list)
结果:
['jason', 'tony', 'jack']
-
括号内指定需要移除的元素值
关键词:remove
name_list.remove('jason')
print(name_list)
结果:
['kevin', 'tony', 'jack']
-
括号内指定需要弹出的元素索引值 括号内如果不写参数则默认弹出列表尾部元素
关键词:pop
name_list.pop(1)
print(name_list)
结果:
['jason', 'tony', 'jack']
按指定的索引值弹出
name_list.pop()
print(name_list)
结果:
['jason', 'kevin', 'tony']
默认弹出最右边的字符
print(name_list.pop())
结果:
jack
此处直接打印被弹出的结果
12.可变类型与不可变类型
可变类型 >>> 列表
值改变 内存地址不变 修改的是原值
不可变类型 >>> 整型 浮点型 字符串
值改变 内存地址肯定变 其实是产生了新值
关键词:
remove--删除 之后无法再打印出来
pop---弹出 之后还可以被打印出来
name_list = ['jason', 'kevin', 'tony', 'jack']
print(id(name_list))
print(name_list.remove('jason')) # 这里是打印被执行的步骤
print(name_list) # ['kevin', 'tony', 'jack']
print(id(name_list))
结果:
2684099118920
None
['kevin', 'tony', 'jack']
2684099118920
name_list = ['jason', 'kevin', 'tony', 'jack']
print(id(name_list))
2120787511112
name_list.append(123)
print(name_list)
print(id(name_list))
结果:
['jason', 'kevin', 'tony', 'jack', 123]
2120787511112
地址不变 只是在原先在内存空间中申请的一块区域当中再腾挪出一点地方放'123'