Python基础数据类型——字典
Posted Alice
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础数据类型——字典相关的知识,希望对你有一定的参考价值。
一、定义
字典由键及其相应的值组成,这种键-值对成为项(item)
二、属性
1、字典是一种映射类型,字典用 { } 标识,它是一个无序的键(key):值(value)的集合;
2、键(key)必须使用不可变类型;
3、在同一个字典中,键(key)必须是唯一的;
4、字典是python唯一内置的映射类型
三、操作
1、访问字典中的值
要获取与键相关联的值,可依次指定字典名和放在方括号内的键
alien = {\'color\':\'green\'} print(alien[\'color\'])
get
1)方法get为访问字典提供了宽松的环境,通常试图访问字典中没有的项,将引发异常 ;
2)使用get访问不存在的键时,不会发生异常,返回None;
3)可指定“默认”值,访问不存在的键时,将返回“默认”值
4)如果字典种子哪个包含指定的键,get作用于普通字典查找相同x = {} print(x[\'name\']) print(x.get(\'name\')) print(x.get(\'name\',\'N/A\'))
2、添加键-值对
alien[\'x_position\'] = 3
alien[\'y_position\'] = 4
print(alien)
3、删除键-值对
del
1)删除的键-值对永远消失,彻底删除
2)用del语句时,必须制定字典名和要删除的键
3)del dict[]无返回值del alien[\'color\'] print(alien)
pop
1)dict.pop()有返回值d1 = {\'x\':\'1\',\'y\':\'2\'} d1.pop(x) print(d1)
clear()
# 清空字典,删除所有的字典项 alien = {\'color\':\'green\'} print(alien.clear())
4、修改字典中的值
#依次指定字典名、用方括号括起的键和与该键相关联的新值
alien[\'color\'] = \'yellow\'
print(alien)
5、复制
浅复制 copy()
a、需要复制的值是可变类型时,需要区分浅复制和深复制(因为可变类型指向的是同一块内存空间);
b、需要复制的值是不可变类型时,不区分浅复制和深复制(指向的内存空间不同)x = {\'username\':\'admin\'} y = x.copy() y[\'username\'] = \'alice\' print(y) print(x)
深复制 deepcopy()
深复制时原件不受影响# 为避免这种问题,一种办法是执行深复制,即同时复制值及其包含的所有值,可使用copy模块中的函数deepcopy from copy import deepcopy x = {} x[\'names\']=[\'amy\',\'daniel\'] y = x.copy() dy = deepcopy(x) x[\'name\'].append(\'alice\') print(y) print(dy)
6、items
方法items返回一个包含所有字典项的列表,其中每个元素都为(key,value)的形式
7、嵌套
字典列表
1)将三个字典放在一个列表中alien_0 = {\'color\':\'green\'} alien_1 = {\'color\':\'red\'} alien_2 = {\'color\':\'yellow\'} aliens = [alien_0, alien_1, alien_2] for alien in aliens: print(alien)
2)用range()生成多个alien
aliens = [] # 创建30个绿色的外星人 for alien_num in range(30): new_alien = {\'color\':\'green\',\'speed\':\'low\'} aliens.append(new_alien) # 显示前5个 for alien in aliens[:5]: print(alien)
在字典中存储列表
pizza = { \'crust\':\'thick\', \'toppings\':[\'sweet\',\'extra cheese\'], } for topping in pizza[\'toppings\']: print(topping)
在字典中存储字典
users = { \'alice\':{ \'first\':\'a\', \'last\':\'e\', }, \'daniel\':{ \'first\':\'d\', \'last\':\'l\', }, } for username,user_info in users.items(): print(\'\\n USERNAME:\'+ username)
8、遍历
遍历所有的键-值对
user = { \'username\':\'alice\', \'first\':\'a\', \'last\':\'e\' } for key,value in user.items(): print(\'\\nKEY:\'+ key) print(\'VALUE:\'+ value)
遍历字典中的所有键 keys()
遍历字典时,会默认遍历所有的键user = { \'username\':\'alice\', \'first\':\'a\', \'last\':\'e\' } for key_name in user.keys(): print(key_name.title())
按顺序遍历字典中的所有键 sorted()
要以特定的顺序返回元素,可在for循环中对返回的键进行排序,使用sorted()函数user = { \'username\':\'alice\', \'first\':\'a\', \'last\':\'e\' } for name in sorted(user.keys()): print(name.title())
遍历字典中的所有值 values()
user = { \'username\':\'alice\', \'first\':\'a\', \'last\':\'e\' } for name in user.values(): print(name.title())
以上是关于Python基础数据类型——字典的主要内容,如果未能解决你的问题,请参考以下文章