9-字典和集合

一、字典

1、规则

  • 格式:dict1={‘键1’:‘值1’,‘键1’:‘值1’}
  • 字典永远以键值对的方式出现
  • 字典可以通过键找到值
  • 字典是无序的,每个键值存放的前后顺序并不影响字典
  • 键:可存放 不可变对象(如字符串、数字、元组);不可存放 可变对象(如列表、字典)
  • 值:可存放任意对象

2、按照键对字典增、改、删

dict1 = {'Name':'Marry',1:18,'answer':'yes',('gender','age'):('girl',18)}
dict1['city'] = '上海'  #['city']在字典中不存在,新增
dict1[1] = 20   #[1]在字典中存在,更新
dict1.update({'Name':'Marry me','answer':'no'})  #一次修改多个值
del dict1[('gender','age')]   # del语句删除
print(dict1)

执行结果:

{'Name': 'Marry me', 1: 20, 'answer': 'no', 'city': '上海'}

3、遍历字典中的键

dict1 = {'Name':'Marry',1:18,('gender','age'):('girl',18)}
for one in dict1.keys():
    print(one)
  • 执行结果:
Name
1
('gender', 'age')
  • 注意:dict1.keys()返回的是个类列表,可以遍历但是不能用下标,如果要使用下标则需要转换
dict1 = {'Name':'Marry',1:18,('gender','age'):('girl',18)}
print(dict1.keys())
print(list(dict1.keys())[0])  #转化为列表
  • 执行结果如下:
dict_keys(['Name', 1, ('gender', 'age')])   #类列表
Name   

4、遍历字典中的值(与遍历key类似)

for one in dict1.values():
    print(one)
print(dict1.values())
  • 执行结果:
Marry
18
('girl', 18)
dict_values(['Marry', 18, ('girl', 18)])

5、遍历字典中的键值对

for key,value in dict1.items():
    print(key,value)
  • 执行结果:
Name Marry
1 18
('gender', 'age') ('girl', 18)

6、字典与json文件的转换

  • ① json文件转为字典
import json
#加载字符串的形式
str1='''
  {
   "name":"Marry",
   "age":"18"
  }
 '''
 dict1 = json.loads(str1)
print(dict1)

#加载文件的形式
with open('D:/test02.txt') as file1:  
    dict2 = json.load(file1)
print(dict2)
  • 执行结果:
{'name': 'Marry', 'age': '18'}
{'name': 'Marry', 'age': '18'}
  • ② 字典转为json文件
#1、将字典格式换转换为json格式的字符串
dict1 = {'name': 'Marry', 'age': '18','gender':'girl'}
str_json = json.dumps(dict1)
print(str_json)


#2、将字典以json格式写入到文件
fileName = 'D:/test02.txt'
with open(fileName,'w+') as file1:
    json.dump(dict1,file1)
    file1.seek(0)
    print(file1.read())
  • 执行结果:
{"name": "Marry", "age": "18", "gender": "girl"}
{"name": "Marry", "age": "18", "gender": "girl"}

二、集合

在 Python 中,set() 是一个内置函数,用于创建一个集合对象。集合是一种无序、不重复元素的容器。
set() 函数可以接受一个可迭代对象作为参数,并返回一个包含该对象所有不重复元素的集合。

1、创建集合

① 使用 set() 函数创建集合:set([1,2,3,4,5])
② 使用花括号创建集合:my_set = {1, 2, 3, 4, 5}
③ 创建空集合:set()

2、关于set() 的操作函数

A = {1,2,3}
B = {2,3,4}

# 求并集
A.union(B)
# 求交集
A.intersection(B)
# 往集合中添加元素
A.add(2)
# 删除集合中的函数
A.remove(3)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值