python基础之数据类型的内置方法

在日常生活中不同类型的数据具有不同的功能,例如:表格数据文件具有处理表格的各项功能(透视表 图形化 公式计算);视频数据文件具有快进 加速等各项功能......
在程序中也有很多数据类型,每种数据类型也有它的功能。

一、整型int

image

二、浮点型float

image

三、字符串str

image

四、列表list

image

小练习
队列FIFO:先进先出
堆栈FILO:先进后出

# 队列:先进先出
# 1.定义一个空列表
l1 = []
# 2.先进
l1.append(111)
print(l1)
l1.append(222)
print(l1)
l1.append(333)
print(l1)

# 先出
l1.pop(0)
print(l1)
l1.pop(0)
print(l1)
l1.pop(0)
print(l1)

image

# 堆栈:先进后出
# 1.定义一个空列表
l1 = []
# 2.先进
l1.append(111)
print(l1)
l1.append(222)
print(l1)
l1.append(333)
print(l1)

# 后出
l1.pop()
print(l1)
l1.pop()
print(l1)
l1.pop()
print(l1)

image

五、字典dict

image

小练习:

res = dict.fromkeys(['k1', 'k2', 'k3'], [])  
res['k1'].append(111)
res['k2'].append(222)
res['k3'].append(333)
print(res)
# 重新给k1赋值,k1与k2/k3的指向地址就不一样了
res['k1'] = [111, 222, 333]
res['k1'].append(444)
print(res)

image

六、元组tuple

元组:小括号括起来,内部可以存放多个元素,元素之间用逗号隔开。
元素可以是任意数据类型,但是元素不支持修改。
可以简单理解元组为一个不可变列表。
元组内部就算只有一个元素,也需要加上逗号。

# 小括号内如果只有一个元素,数据类型就是括号里面的类型
t1 = (111)
t2 = (11.11)
t3 = ('hello')
print(type(t1))
print(type(t2))
print(type(t3))
# 小括号内就算只有一个元素,也建议加上逗号
t11 = (111,)
t21 = (11.11,)
t31 = ('hello',)
print(type(t11))
print(type(t21))
print(type(t31))
# 加逗号后类型就变成元组tuple了

image

image

小练习:

# 在列表[111,444,555]里面加一个999
t = (111, 222, [111, 444, 555])
t[2].append(999)
print(t)

image

七、集合set

image

小练习:

list1 = [33, 22, 11, 22, 11, 44, 33, 22, 55, 66, 77, 77, 66, 55, 44]
# 基本要求:去重即可
s1 = set(list1)  # 转成集合去重
list1 = list(s1)  # 集合再转成列表
print(list1)  # 打印列表

# 拔高要求:去重并保留原来的顺序
# 思路:定义一个空列表,用for循环取原来列表的数据往新列表里面加,判断取出来的数据新列表里面有没有,没有的话就继续加,有就不管。
new_list = []
for i in list1:
	if i not in new_list:
		new_list.append(i)
print(new_list)

image

八、可变类型与不可变类型

可变类型:值改变,内存地址不变,修改的原值
不可变类型:值改变,内存地址一定变,其实是产生了新的值

image

九、容器类型

容器类型:内部可以存放多个数据值的数据类型都可以成为容器类型。
建议:所有容器类型内部就算只有一个元素也建议加上逗号。

十、练习题:

s1 = 'jason say hello hello hello big baby baby baby sb sb jason jason'
# 统计每个单词的个数
'''
思路:用字典查看最直观,所以先定义一个空字典,然后把字符串用空格切割成列表,再用for循环取数据往字典里面放,取的数据为K值,次数为V
	需要判断每个数据是否已经在字典里面了,如果已经在了,那么V值加1,如果没在,就直接以 单词: 1 的格式添加到字典里面;最后打印字典
'''
dict = {}
list = s1.split(' ')
print(list)
for i in list:
	if i in dict:
		dict[i] += 1
	else:
		dict[i] = 1
print(dict)

image

s2 = 'jasonsayhello'
# 统计每个字符
'''
思路:用字典最直观。先定义一个空字典,然后用for循环直接取值,判断取出来的每个字符在不在字典里面,如果在就v值加1,不在就k:1新增进去
	for循环取出来的字符作为字典的k值
'''
dict1 = {}
for i in s2:
	if i in dict1:
		dict1[i] += 1
	else:
		dict1[i] = 1
print(dict1)

image

posted @ 2021-11-19 16:59  90啊  阅读(70)  评论(0编辑  收藏  举报