基础数据内置方法2

1.字典与内置方法

类型转换(数据转换)(dict())

#标题:
d1 = {'name': 'jason','age': 18,'hobbies': ['play game', 'basketball']}

2.内置方法

2.1按K取值
也可以当做索引取值但是可以取‘键’
如果字典里没有键 或者 没有字符 那么他只会出现None不会报错
2.2修改值 
print(id(d1))
d1['name'] = 'jasonDSB'  # 键存在是修改值
print(d1, id(d1))
2.3添加键值对
d1['pwd'] = '123'
print(d1)
2.4统计字典中键值对的个数
len
支持for循环类型的 都可以用到 len 统计个数
2.5成员运算
in 成员运算只能查找到 键 查不到值
2.6删除键值对
print(d1.pop('age'))  #18 弹出 
2.7获取的所有的键 和所有的值和键值对
keys
print(d1.keys())  #获取所有的键
values
print(d1.values()) #获取所有的值
items
print(d1.items()) #获取所有的键值对
values
for v in d1.values()
prtin(v)   #只可以获取字典的键
-----以上获取到的都是用列表方式进行表达-----
-----了解下就好-----
注:题目 cmd = {'k1':'thn', 'k2',thn1,'k3':'thn2'}
2.8字典更新
update
cmd.update({'k1':'thn','k4':'000')}
print(cmd) #键在的话修改 键不在则新增
#{'k1':'thn', 'k2',thn1,'k3':'thn2''k4':'000'}
---
2.9字典快速生成
fromkeys
cmd = dict.fromkeys(['k1','k2','k3'][])
#分别给键增加值也就是[]
2.10新增键值对
setdefault
prtin(dic.setdefauit('k4',333))
#键不在则新增键值对 键在则代替返回结果是新增的值

3.元组内置方法

1.类型转换
支持for循环的数据类型都可以转换为元组数据类型
2.元组特性
t1 = (11, 22, 33, 44)
print(type(t1))  # <class 'tuple'>
t2 = (11)
print(type(t2))  # int
t2 = (11.11)
print(type(t2))  # float
t2 = ('jason')
print(type(t2))  # str
当元组内只有一个元素的时候 一定要在元素的后边加上逗号
t2 = (11,)
print(type(t2))  # tuple
t2 = (11.11,)
print(type(t2))  # tuple
t2 = ('jason',)
print(type(t2))  # tuple
··一般情况下我们习惯将所有可以存储多个数据类型的数据
----------如果内部元素只有一个 那么也会加逗号
1.索引取值
print(t1[0])
print(t1[-1])
2.切片操作
print(t1[1:4])
print(t1[-1:-4:-1])
print(t1[-4:-1])
3.间隔
print(t1[1:4:2])  # (22, 44)
4.统计元组内元素的个数
print(len(t1))  # 6
5.成员运算
print(11 in t1)  # True
6.统计某个元素出现的次数
print(t1.count(22))
7.元组内元素不能"修改": 元组内各个索引值指向的内存地址不能修改
t1[0] = 111

4.集合内置方法

1.类型准换
集合内的元素只能是不可变量型
字串符,列表,元组,集合
--集和--
集合只有两个功能
1.去重:去重重复的元素
2.运算关系:判断两个元素共同的差异
1.重复
s1 ={1,1,1,1,1,1,2,2,2,2,2,1,2,3,2,2,1,2,3,2,3,4,3,2,3}
print(s1)  # {1, 2, 3, 4}
l = ['a', 'b', 1, 'a', 'a']
s1 = set(l)
l = list(s1)
print(l)
2.关系运算
f1 = {'jason', 'kevin', 'tony', 'jerry'}  # 小李的好友列表
f2 = {'jason', 'tom', 'jerry', 'jack'}  # 小王的好友列表
1.求两个人的共同好友
print(f1 & f2)  # {'jerry', 'jason'}
2.求小李的单独好友
print(f1 - f2)  # {'kevin', 'tony'}
3.求两个人所有的好友
print(f1 | f2)  # {'kevin', 'jack', 'tom', 'jason', 'jerry', 'tony'}
4.求两个人各自的好友
print(f1 ^ f2)  # {'jack', 'tony', 'tom', 'kevin'}

5.垃圾回收机制

1.引用计数:
name = 'thn' #thn引用数据为1
a = name     #thn引用数据为2
··内存中数据身上绑定的变量名的个数···
2.标记清除:
当内存空间满的时候pyton会启动应急机制停止程序运行一个一个检查引用数值并给计数为0的数据打上一个标记并且一次性清除掉
3.分代回收
根据数据存在时间的长短 将数据划分为1.2.3个等级
等级1 检测时间较短
等级2 检测时间中等
等级3.检测时间较长
打过标记的为0的数据直接清除

posted @ 2022-03-10 21:50  笑舞狂歌  阅读(23)  评论(0编辑  收藏  举报