python之数据类型补充
1. capitalize (首字母大写)
例题:
s = "alex wusir"
s1 = s.capitalize() # 格式
print(s1)
'''
输出结果
Alex wusir
'''
2. title (每个单词首字母大写)
例题:
s = 'alex wusir'
s1 = s.title() # 格式
print(s1)
'''
输出结果
Alex Wusir
'''
3. count (统计出现的次数)
例题:
s = 'alex wusir'
s1 = s.count('a') # 格式
print(s1)
'''
输出结果
1
'''
4. swapcase (大小写转换)
例题:
s = 'alex wusir'
s1 = s.swapcase() # 格式
print(s1)
'''
输出结果
ALEX WUSIR
'''
5. 查找
5.1 find 找的是索引值 如果找不到返回-1
例题:
s = 'alex taibai'
s1 = s.find('a') # 格式
s2 = s.find('w')
print(s1)
print(s2)
'''
输出结果
0
-1
'''
5.2 index 找不到报错
例题:
s = 'alex taibai'
s1 = s.index('w') # 格式
s2 = s.index('t')
print(s1)
print(s2)
'''
输出结果
ValueError: substring not found
5
'''
练习题:
找到所有a的索引值
s = "alex taibai"
# 找到所有a的索引
for i in range(len(s)):
if s[i] == 'a':
print(i)
'''
输出结果
0
6
9
'''
6. list (列表)
6.1 创建
方法一
li = list("815678234") # 迭代创建列表
print(li)
'''
输出结果
['8', '1', '5', '6', '7', '8', '2', '3', '4']
'''
方法二
li = ['8', '1', '5', '6', '7', '8', '2', '3', '4'] # 直接创建列表
6.2 统计
方法: count
li = list("815678234") # 格式
print(li.count("1"))
'''
输出结果
1
'''
l1 = list('98761879') # 格式
print(l1.count('9'))
'''
1
'''
6.3 查看
list中没有find
这里的查看指的是查看字符索引的值
方法: index
例题:
li = list('98761879')
print(li.index("8")) # 格式
'''
输出结果
1 这里8的索引值是1
个人见解:
如果字符在一个字符串中有多个,只打印从左到右第一个出现的索引值
'''
6.4 反转
方法: reverse
例题:
li = list('123456')
li.reverse() # 格式
print(li)
'''
输出结果
['6', '5', '4', '3', '2', '1']
'''
6.5 排序
6.5.1 升序
例题:
l1 = list('23485760')
l1.sort() # 格式
printi(l1)
'''
输出结果
['0', '2', '3', '4', '5', '6', '7', '8']
'''
6.5.2 降序
例题:
l1 = list('23485760')
l1.sort(resvers=True) # 格式
print(l1)
'''
['8', '7', '6', '5', '4', '3', '2', '0']
'''
7. tuple (元组)
7.1 创建
方法一
tu = tuple("12345")
方法二
tu = (1,2,3,4,5) # 直接创建
7.2 统计
例题:
tu = tuple("12345")
print(tu.count("3")) # 格式
'''
输出结果
1
'''
7.2 查找
这里查的也是索引值
例题:
tu = tuple("12345")
print(tu.index("1")) # 格式
'''
输出结果
0
'''
8. dic (字典)
8.1 创建
方法一: 直接创建
例题:
dic = {'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}
print(dic)
{'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}}
方法二: dict
例题:
dic = dict(k=1,k1=123,k2="aa",k3=222,k4=1123123)
print(dic)
'''
输出结果
{'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}}
'''
方法三: fromkeys (字典的批量创建)
- 第一个参数是可迭代对象
- 第二个参数是每个键对应的值 - - 用的都是同一个内存地址
例题:
dic = {}
dic1 = dic.fromkeys('alex',[1,2,3]) # 格式
print(dic1)
'''
输出结果
{'a': [1, 2, 3], 'l': [1, 2, 3], 'e': [1, 2, 3], 'x': [1, 2, 3]}
'''
8.2 popitem (随机删除)
- python3.6版本 默认删除最后个键值对
- python3.5版本以前 随机删除
例题:
dic = {'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222, 'k4': 1123123}
dic.popitem() # 格式
print(dic)
'''
输出结果
{'k': 1, 'k1': 123, 'k2': 'aa', 'k3': 222}
发现'k4': 1123123已被删除,且是最后一个
'''
9. set (集合)
创建
例题:
s = set("1234") # 定义方式
print(s)
'''
输出结果
{'2', '4', '3', '1'} # 集合是无序的
'''
10. 数据类型转换
10.1 str - int (字符串转换成整型)
- 识记: 字符串中必须都是十进制的数,才能进行转换,字母字符不可转换
例题:
s = 'abc'
i = int(s) # 格式
print(i,type(i))
'''
输出结果
报错
'''
# 正确
s = '123'
i = int(s)
print(i,type(i))
'''
输出结果
123 <class 'int'>
'''
10.2 int - str (整型转换成字符串)
例题:
n = 123
s = str(n) # 格式
print(s,type(s))
'''
输出结果
123 <class 'str'>
'''
10.3 str - list (字符串转换成列表)
例题:
s = "123"
li = list(s)
print(li)
'''
输出结果
['1', '2', '3'] # 转换成列表后格式就是列表格式
'''
10.4 list - str (列表转字符串)
例题:
li = ["12","3"]
s = str(li)
print(s,type(s))
'''
['12', '3'] <class 'str'> # 正常转换出是这种的,看上去还是列表,但类型已经是str了
'''
# 以下这种方法可以转化成正常str形式
li = ["12","3"]
print(''.join(li),type(''.join(li))) # 格式
'''
123 <class 'str'>
'''
10.5 list - tuple (列表转化成元组)
例题:
li = [1,2,3]
tu = tuple(li)
print(tu)
'''
输出结果
(1, 2, 3)
'''
10.6 tuple - list (元组转化成列表)
例题:
tu = (1,2,3)
li = list(tu)
print(li)
'''
输出结果
[1, 2, 3]
'''
10.7 set - list (集合转化成列表)
例题:
s = {12,3,4}
print(list(s))
'''
输出结果
[3, 12, 4]
'''
10.8 list - set (列表转集合)
例题:
li = [1,2,3]
s = set(li)
print(s)
'''
输出结果
{1, 2, 3}
'''
10.9 有坑题
1.把字符串转化成列表
s = "123"
li = s.split()
print(li,type(li))
'''
输出结果
['123'] <class 'list'>
'''
2.将列表转换成字符串
li = ['1','2','3']
s = ''.join(li)
print(s,type(s))
'''
输出结果
123 <class 'str'>
'''
# join 不能有数字
10.10 join 出现的2次
- join 不能有数字
# 第一次
li = ["alex", "wusir", "taibai"]
print('_'.join(li))
'''
输出结果
alex_wusir_taibai
'''
# 第二次
li = ['1','2','3']
s = ''.join(li)
print(s,type(s))
'''
输出结果
123 <class 'str'>
'''
11 总结:
字符串 -- 数字:字符串中必须都是十进制的数字
数字 -- 字符串:直接转换
列表 -- 字符串:''.join() -- 可迭代的对象中不能出现数字
字符串 -- 列表:split除字典外,容器数据类型之间可以直接相互转换
七种数据类型:
str,int,bool,list,tuple,dict,set
有序: str,int,bool,list,tuple
无序: dict,set
可变: list,dict,set
不可变: str,int,bool,tuple
访问方式:
直接访问:int,bool,set
顺序访问:list,tuple,str
通过键访问: dict