python字典用法,Python字典的操作
什么是字典在Python中,字典是一系列的键值对。每个键都与一个值相关联,您可以使用该键来访问与之相关联的值。与键相关的值可以是数字、字符串、列表甚至字典。事实上,任何Python对象都可以用作字典中的值。Dictionary是python中除list之外最灵活的数据类型。
字典和列表的区别在于列表是一组有序的对象
字典是一组无序的对象
字典是由{}定义的,它使用键值对来存储数据。使用和分隔键-值对,键-键是索引,值-值是数据,使用键和值。分离,键必须是唯一的(因为我们要通过键找到数据,值可以取任何数据类型,但是键只能用字符串,数字或者元组,字典是一个无序的数据集。使用打印功能输出词典时,输出顺序和定义顺序通常不一致。
示例:
定义一个字典message _ dict={name :郭栋,年龄: 21 ,性别: m ,体重: 140 ,身高: 180} print message _ dict
如您所见,控制台输出的顺序与定义的顺序不一致。
对字典的各种操作:1 .根据索引(键)取值。取值时,索引用括号括起来。
Message _ dict={name :郭栋,年龄: 21 ,性别: m ,体重: 140 ,身高: 180} #取值printmessage _ dict与字典中姓名的索引[name]。
2:添加/删除
补充:索引用括号括起来。
message_dict[id]=05
打印消息_字典
删除:索引用括号括起来。
message_dict.pop(id )
打印消息_字典
3.计算键值对的数量
打印镜头(message_dict)
4:添加字典中已经存在的元素将修改前一个元素的内容。
message_dict[age]=22
打印消息_字典
5:如果合并的字典与原始字典的关键字索引重复,将更新合并的字典。
Sex_dict={sex: man , grade: 4} #合并message_dict字典与Sex_dict字典Message _ dict.update (sex _ dict)打印Message _ dict
字典遍历遍历所有的键值对。您可以使用for循环来遍历字典。
Message _ dict={name :郭栋,年龄: 21 ,性别: m ,体重: 140 ,身高: 180}对于key,message _ dict.items()中的值:print(
遍历字典中的所有键。当不需要使用字典中的值时,keys()方法很有用。让我们遍历字典favorite_languages并打印出每个回答者的姓名:
favorite _ languages={ Jen : Python , Sarah: C , Edward: Ruby , Phil: Python ,} for name in favorite _ languages . keys():# Print遍历的键,使用title方法将键的首字母改为大写Print。
在遍历字典时,默认情况下会遍历所有键,因此如果将favorite_languages.keys()中的for name替换为favorite_languages中的for name:在上面的代码中,输出
不会改变。
如果您显式地使用方法键()来使代码更容易理解,您可以选择这样做,但是如果您愿意,也可以省略它。
按顺序遍历字典中的所有键。字典总是显式记录键和值的关系,但是在获取字典的元素时,获取顺序是不可预知的。这不是问题,因为通常您想要的只是获得与键相关联的正确值。
要以特定的顺序返回元素,一种方法是在for循环中对返回的键进行排序。为此,您可以使用函数sorted()以特定的顺序获得键列表的副本。
favorite _ languages={ Jen : Python , Sarah: C , Edward: Ruby , Phil: Python} #在sorted(favorite _ languages):print(name . title(
遍历字典中的所有值。如果您主要对字典中包含的值感兴趣,可以使用values()方法,该方法返回不带任何键的值列表。例如,如果我们想获得一个只包含回答者选择的各种语言的列表,而不包含回答者的姓名,我们可以这样做:
favorite _ languages={ jen : python , sarah: c , edward: ruby , phil: python ,} print(已指导以下语言:)#使用values方法在favorite _ languages.values()中遍历语言字典中的所有值:print (language.title())
该方法提取字典中的所有值,不管它们是否重复。当涉及的值很少时,这可能不是问题,但是如果有很多响应者,最终的列表可能包含大量重复项。为了消除重复,可以使用集合。集合类似于列表,但是每个元素必须是唯一的:
favorite _ languages={ jen : python , sarah: c , edward: ruby , python ,} print(以下语言已被指导:)#使用set消除set (favorite _ languages.values())中语言的重复:print (language.title())是用pycharm实现的:
有时,需要将一系列字典存储在一个列表中,或者将一个列表作为一个值存储在一个字典中,这就是所谓的嵌套。你可以在列表中嵌套字典,在字典中嵌套列表,甚至在字典中嵌套字典。
带有列表列表中存放字典的嵌套字典
一本字典只能存储一种动物的信息,却不能存储第二种动物的信息,更不能存储一群动物的信息。你如何管理一群动物?我们可以创建一个动物列表,每个动物都是一个字典,包含了这个动物的各种信息。让我们创建一个包含三种动物的列表:
#定义三个动物字典Animal _ 01={var: dog , Env : land } Animal _ 02={ var : bird , Env : sky } Animal _ 03={ var : fish ,Env: ocean}#定义一个动物列表animals=[animal _ 01,Animal _ 02,animal _ 03] #遍历动物列表并打印出动物中每个动物的动物:print animal字典中存放列表。
有时,您需要将列表存储在字典中,而不是将字典存储在列表中。例如,你会如何描述顾客点的披萨?如果使用列表,只能存储要添加的披萨食材;但是如果你使用字典,你不仅可以包括配料清单,还可以包括其他关于比萨饼的描述。
在下面的例子中,存储了两条关于比萨饼的信息:面包皮类型和配料列表。其中配料列表是与关键字“配料”相关联的值。为了访问这个列表,我们使用字典名和关键字“toppings ”,就像字典中的其他值一样。这将返回成分列表,而不是单个值。
#存储pizza订购pizza的信息={Crust: Thick , Toppings: [蘑菇, Extra Cheese],#配料列表} #概述订购的pizza打印(您订购了具有以下浇头的 pizza [Crust]-Crust pizza :)用于pizza中的浇头[toppings]: print (\ t topping)
嵌套字典可以在字典中嵌套字典,但这样做时,代码可能会很快变得复杂。例如,如果有多个网站用户,每个用户都有一个唯一的用户名,您可以将用户名用作字典中的键,然后将每个用户的信息存储在字典中,并将字典用作与用户名关联的值。在下面的程序中,对于每个用户,我们存储三条信息:名、姓和住所;为了访问这些信息,我们遍历所有用户名并访问与每个用户名相关联的信息字典:
users={ aein stein :{ first : Albert , last: einstein , location: princeton ,}, mcurie: {first: marie , last: curie , location: paris ,},}for username,user _ info in users . items():print( \ nuser name: username full _ name=user _ info[ first ] user _ info[ last ]location=user _ info[ location ]print( \ t full name: full _ name . title())print
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。