python字典

@Time :2021/4/7 20:51

@Author: 小被几

@File :demo01.py

"""
三、字典操作
1、增
dict_1={key:val,key2:val}
2、删除(通过key)
1、del dict_1['key1']
2、dict.pop('key1')
返回被删除key的value
3、dict.popitems()
返回被删除元素的(key,val)

3、修改(重点)
1、dict_1['key1']='8888'
如果修改的Key不存在,那么会自动新增一个键值对

2、dict_1.setdefault('key','value')
key存在不做任何操作,key不存在就新增键值对

3、dict_1.update(dict_2) 面试题
将dict_2合并到dict_1,key存在直接覆盖value的值,key不存在就直接添加到dict_1
4、查询(重点)
通过key 获取val
1、dict_1 = {'key1': 'val1', 'key2': 'val2'}
result = dict_1['key1']
2、result2 = dict_1.get('key3', 'val3')
print(result2)
当key3不存在的时候返回val3,如果存在直接返回对应value的值

3、dict.keys()
dict_1 = {'key1': 'val1', 'key2': 'val2'}
keys = dict_1.keys()
print(keys)
print(type(keys))
print('*' * 20)
new_list = list(keys)
print(new_list[0])
print(type(new_list))

4、dict.values()
dict_1 = {'key1': 'val1', 'key2': 'val2'}
keys = dict_1.values()
print(keys)
print(type(keys))
print('*' * 20)
new_list = list(keys)
print(new_list[0])
print(type(new_list))

5、dict.items()
dict_1 = {'key1': 'val1', 'key2': 'val2'}
print(list(dict_1.items()))

四、深浅拷贝
1、浅拷贝
浅拷贝只会拷贝第一级目录,第二级目录还是应用

2、深拷贝
深拷贝拷贝第一层目录,和第二层目录

五、遍历
[1,2,3,4,5,6]
1、遍历key
2、遍历value
3、遍历items

六、排序
加密的时候

内存地址:丰巢 编号 盒子

key1:1 key2:2 key3:3

深 盒子 编号 东西+编号 放到新的盒子里面

浅 盒子 编号 编号 放到新的盒子里面

new_dict={'key1':'内存地址里面的东西','key2':'2'}

深拷贝

import copy

dict_2 = {'key1': 'val1', 'key2': 'val2','key3':[1,2,3,4]}

new_dict2=copy.deepcopy(dict_2)

print('老字典:',dict_2,id(dict_2))

print('新字典:',new_dict2,id(new_dict2))

dict_2['key3'].append('test')

print('老字典:',dict_2,id(dict_2))

print('新字典:',new_dict2,id(new_dict2))

print(id(dict_2['key3']))

print(id(new_dict2['key3']))

print('='*50)

浅拷贝

dict_1 = {'key1': 'val1', 'key2': 'val2','key3':[1,2,3,4]}

print(type(dict_1))

new_dict = dict_1.copy()

print('老字典:',dict_1,id(dict_1))

print('新字典:',new_dict,id(new_dict))

key3_value=dict_1['key3']

key3_value.append('test')

print(key3_value,type(key3_value))

print('老字典2:',dict_1,id(dict_1))

print('新字典2:',new_dict,id(new_dict))

print(id(dict_1['key3']))

print(id(new_dict['key3']))

清空 dict_1.clear()

dict_1 = {'key1': 'val1', 'key2': 'val2','key3': 'val3','key4': 'val4'}

dict_1.clear()

print(dict_1)

后进先出

dict_1 = {'key1': 'val1', 'key2': 'val2','key3': 'val3','key4': 'val4'}

res=dict_1.popitem()

res2=dict_1.popitem()

print(res)

print(res2)

print(dict_1)

dict_1.pop('key1')

dict_1 = {'key1': 'val1', 'key2': 'val2'}

res=dict_1.pop('key1')

print(res)

print(dict_1)

del dict_1['key1']

dict_1 = {'key1': 'val1', 'key2': 'val2'}

del dict_1['key1']

print(dict_1)

dict_1 = {'key1': 'val1', 'key2': 'val2'}

dict_2 = {'key3': 'val3', 'key4': 'val4'}

print(dict_1)

dict_1.update(dict_2)

print(dict_1)

setdefault

dict_1 = {'key1': 'val1', 'key2': 'val2'}

dict_1.setdefault('key3','888')

print(dict_1)

key存在就是修改,不存在就是新增

dict_1 = {'key1': 'val1', 'key2': 'val2'}

dict_1['key3']='8888'

print(dict_1)

通过key 修改value

dict_1 = {'key1': 'val1', 'key2': 'val2'}

dict_1['key1']='8888'

print(dict_1)

获取字典的key、val

dict_1 = {'key1': 'val1', 'key2': 'val2'}

print(list(dict_1.items()))

集合
一、特点
1、无序
2、元素不可以重复
3、不支持索引取值

二、相关操作
1、创建
set1={1,2,3}
2、添加元素
set1.add()

3、删除
pop、remove、clear

三、去重(记住)
list1 = [1,1,2,2,3,3,4,4,5,5,6,6]
new_list = list(set(list1))
print(new_list,type(new_list))

四、数据类型转换(了解)
语法:关键字(对象) int、list、tuple、set
1、int str 相互转换
2、list tuple 相互转换
3、list set 相互转换
4、tuple set 相互转换

拓展 数据类型转换

tuple1={1,2,3,4,5}
print(tuple(tuple1))

list tuple 相互转换

tupe1=[1,2,3,4,5]

print(tuple(tupe1))

int str 相互转换

str_1=100

print(type(str(str_1)))

一、流程
1、事务进行的次序或者顺序,就叫流程
2、流程分类
顺序:代码从上往下执行
选择结构:根据条件执行
循环:根据条件循环执行

标准的if esle

num1 = input('用户输入:')
if int(num1) > 1:
print('条件满足')
else:
print('条件不满足')

单if语句

num1=10

if num1 > 1:

print('num1 大于1')

"""

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容