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

posted @ 2019-06-12 21:45  爱咋闹  阅读(284)  评论(0编辑  收藏  举报