python基础--字典

字典是一种新的数据结构,称之为映射(mapping)
字典的表显形式:dict
字典的作用是用来存储对象的容器
        列表存储数据性能很好,但是查询数据性能很差
        字典中每一个元素都有唯一的一个名字,通过名字可以快速查找到指定的元素
        唯一的名称称之为键(key),通过key可以查询到value,称之为值(value)
        所以字典我们称之为键值对
        每个字典可以有多个键值对,每一个键值对称之为项(item)

创建字典

1、使用‘{}’来创建字典
语法:{key:value,key:value…}

d={'name':'艾伦','age':18}

2、dict()函数

b=dict(name='艾伦',age=18)
print(b)

在字典中键和值可以是哪些内容?
值可以是任意对象
键可以是任意不可变的对象(int,str,bool,tuple…)
:字典中的键是不能重复的,若出现重复后面的会替换前面的

d=dict([('name','阿伦'),('age',18)])
print(d)

通过上面代码可以看出dict()函数可以把一个包含双值子序列转换成字典
:双值序列:序列中只有两个值。例:[2,3],(1,2),‘xc’
       子序列:如果序列当中的元素也是序列,那么称之这个元素为子序列。例:[(1,3)]

字典当中键是不能重复的,若出现重复,后面的会替换前面的

a={'name':'阿伦','age':18,'name':'阿三'}
print(a)

获取字典里的值

语法:d[key]—key要用引号引起来

a={'name':'阿伦','age':18}
print(a['name'])

get()获取字典里的值
语法:d.get(‘key’)

a={'name':'阿伦','age':18}
a.get('name')

使用get()函数获取字典当中的值时,当获取的键不存在时会返回none;也可以指定一个默认值,作为第二个参数,当获取不到这个键的值时返回该默认值

a={'name':'阿伦','age':18}
a.get('adress','字典中不存在这个键')

修改字典

语法:d[key]=value

a={'name':'阿伦','age':18,}
a['name']='阿三'

当修改时,键存在覆盖原来的值,键不存在时就会在字典后面新增一个键值对

a={'name':'阿伦','age':18,}
a['address']='chengdu'

setdefault(key[,default])可以用来向字典当中添加key-value(键值对)

a={'name':'阿伦','age':18,}
a.setdefault('name','阿三')
a.setdefault('phone',13212312312)
print (a)

通过上面代码可以看出,通过setdefault()函数想字典中添加键值对时,若key已经存在,则返回key的值,不对字典做任何操作;若key不存在时,则向字典当中添加这个key并设置value

update()函数
该函数能将其他字典中的key-value添加到当前的字典当中

a={'a':1,'b':2,'c':3}
b={'d':4,'e':5,'f':6}
a.update(b)
print(a)

删除

使用del()函数
语法:d.del[key]

a={'a':1,'b':2,'c':3}
a.del('a')

popitem()函数,随机删除字典当中的一个键值对,一般情况都是删除最后一个键值对
删除之后它会将key-value作为返回值

a={'a':1,'b':2,'c':3}
b=a.popitem()
print(b)

pop()函数
语法:d.pop(key[default])

a={'a':1,'b':2,'c':3}
print(a.pop('a'))#删除存在的键
print(a.pop('d','字典中不存在这个键'))#删除不存在的键

pop()函数是根据key来删除字典当中的键值对,并返回key对应的value
若删除不存在的key,抛出异常(keyerror);如果指定默认值,删除不存在的key时就返回默认值
**clear()**清空字典

a={'a':1,'b':2,'c':3}
a.clear()
print(a)

浅拷贝

只会复制字典本身,若字典中还有字典是不会被复制
copy()用于对字典进行一个浅复制

a={'b':1,'c':'holle','d':3}
b=a.copy()
print(a,id(a))
print(b,id(b))
a={'a':{'c':45,'d':55},'b':3}
b=a.copy()
b['a']['c']=30
print(a,id(a))
print(b,id(b))

遍历字典

1、keys()
该方法返回字典所有的键

d={'name':'xxx','age':'xx'}
print(d.keys())

2、values()
该方法返回一个序列,保存字典的值

d={'a':1,'b':2,'c':3}
print (d.values())

3、items()
该方法返回字典当中所有的项,会返回一个序列,序列中包含双值子序列,双值分别是字典中的key-value

d={'a':21,'b':33,'c':44}
print (d.items())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个简单的 Python 图书管理系统的增删查操作示例,使用了字典作为数据存储方式: ```python # 初始化图书列表 books = [{'id': '001', 'title': 'Python 编程基础', 'author': '张三', 'price': 36.5}, {'id': '002', 'title': 'Python 编程进阶', 'author': '李四', 'price': 45.0}, {'id': '003', 'title': 'Python 数据分析', 'author': '王五', 'price': 55.0}, {'id': '004', 'title': 'Python 机器学习', 'author': '赵六', 'price': 68.0}] # 定义函数:查询图书信息 def query_book(): book_id = input('请输入图书编号:') for book in books: if book['id'] == book_id: print('图书编号:', book['id']) print('图书名称:', book['title']) print('图书作者:', book['author']) print('图书价格:', book['price']) return print('未找到该图书!') # 定义函数:添加图书信息 def add_book(): book = {} book['id'] = input('请输入图书编号:') book['title'] = input('请输入图书名称:') book['author'] = input('请输入图书作者:') book['price'] = float(input('请输入图书价格:')) books.append(book) print('添加图书成功!') # 定义函数:修图书信息 def update_book(): book_id = input('请输入要修的图书编号:') for book in books: if book['id'] == book_id: book['title'] = input('请输入新的图书名称:') book['author'] = input('请输入新的图书作者:') book['price'] = float(input('请输入新的图书价格:')) print('修图书成功!') return print('未找到该图书!') # 定义函数:删除图书信息 def delete_book(): book_id = input('请输入要删除的图书编号:') for book in books: if book['id'] == book_id: books.remove(book) print('删除图书成功!') return print('未找到该图书!') # 主函数 while True: print('欢迎使用图书管理系统') print('1. 查询图书信息') print('2. 添加图书信息') print('3. 修图书信息') print('4. 删除图书信息') print('0. 退出系统') choice = input('请输入操作编号:') if choice == '1': query_book() elif choice == '2': add_book() elif choice == '3': update_book() elif choice == '4': delete_book() elif choice == '0': break else: print('输入有误,请重新输入!') ``` 该图书管理系统使用了一个字典列表 `books` 来存储图书信息,包含图书编号、图书名称、图书作者和图书价格四个字段。其中,查询、添加、修和删除图书信息分别对应了 `query_book()`、`add_book()`、`update_book()` 和 `delete_book()` 四个函数,根据用户输入的操作编号进行调用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值