美文网首页
Python 字典的使用

Python 字典的使用

作者: 土豆干锅 | 来源:发表于2021-05-10 15:34 被阅读0次

什么是字典

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:

dict = {key1 : value1, key2 : value2, key3 : value3 }

这里不写字典的基础知识,而写一些实际中容易出错的地方

字典定义

字典如果直接赋值是不需要先定义的,否则使用前需要先进行定义

# 直接赋值
>>> dict1 = { 'abc': 456 }
>>> print(dict1['abc'])
456

在代码中常用的方法是将变量直接存入字典中,因此需要先定义再使用。原因是直接使用字典,pyhon不知道dict2是一个字典形式。

>>> dict2['abc']=123
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'dict2' is not defined

定义dict2为字典,则能使用

>>> dict2={}
>>> dict2['abc']=123
>>> print(dict2['abc'])
123

二维字典的定义

同样,二维(或多维)字典在使用时也要先定义,这里需要注意的是每一层都需要定义,而不能简单的直接增加一层key

错误用法:

>>> dict3={}
>>> dict['a']['b']=1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'type' object has no attribute '__getitem__'

正确用法:

>>> dict3={}
>>> dict3['a']={}
>>> dict3['a']['b']=1
>>> print(dict3['a'])
{'b': 1}
>>> print(dict3['a']['b'])
1

字典遍历

dict={'apple':'苹果','banana':'香蕉','pear':'梨'}
for key in dict:
    print(key)
    print(dict[key]

输出:
pear
梨
apple
苹果
banana
香蕉

二维字典遍历

dict={'a':{'b':1},'c':{'b':2}}
for key1 in dict:
    for key2 in dict[key1]:
        print(key1)
        print(key2)
        print(dict[key1][key2])

字典key和value的排序

这里使用sorted函数

  • 按照key进行排序
>>> dict={'apple':'苹果','banana':'香蕉','pear':'梨'}
>>> sorted(dict.keys())
['apple', 'banana', 'pear']

>>> sorted(dict.keys(), reverse = True)
['pear', 'banana', 'apple']
  • 按照value进行排序
>>> dict = {"key1": 5, "key2": 6, "key3": 4, "key4": 3}
>>> sorted(dict.items(), key=lambda item:item[1])
[('key4', 3), ('key3', 4), ('key1', 5), ('key2', 6)]
>>> sorted(dict.items(), key=lambda item:item[1], reverse=True)
[('key2', 6), ('key1', 5), ('key3', 4), ('key4', 3)]
# 此结果是一个list,可分别进行取值
aa=sorted(dict.items(), key=lambda item:item[1])
>>> aa[0]
('key4', 3)
>>> aa[0][1]
3

子函数中的传递

将字典的各个键/值对作为单独的关键字参数传递时,只能使用**

>>> def test(**SP):
...     print (SP['key1'])
>>> SP = {'key1': 'value11', 'key2': 'value12'}
>>> test(**SP)
value11

将整个字典作为单个参数传递,则只需传递它,就像使用任何其他参数值一样

>>> def test(SP):
...     print (SP['key1'])
>>> SP = {'key1': 'value11', 'key2': 'value12'}
>>> test(SP)
value11
  • 同时传递两个字典给子函数时,不能使用**将字典的各个键/值对作为单独的关键字参数传递。
>>> def test(SP,CP):
...     print (SP['key1'],CP['key2'])
>>> SP = {'key1': 'value11', 'key2': 'value12'}
>>> CP = {'key1': 'value21', 'key2': 'value22'}
>>> test(SP, CP)
('value11', 'value22')

相关文章

  • python笔记--(1)--[有序字典的创建]

    python中使用有序字典:

  • 第六章 字典

    6.2 使用字典 在Python中,字典是一系列键值对,任何Python对象都可用作字典的值Pyhone字典用花括...

  • 列表,字典排序

    列表嵌套字典,根据字典某一key排序python sort、sorted高级排序技巧(key的使用)Python要...

  • python items()方法如何使用?

    python items()方法如何使用? Python 字典(Dictionary) items()方法 Pyt...

  • Python:字典

    字典示例 使用字典 Python中,字典是一系列键值对,可以存储任何元素,用花括号来标识。 访问字典的值 使用[]...

  • Python中的字典

    Python中的字典就是JavaScript中的对象创建字典 访问字典中的值 使用len()方法获取字典中键值对的...

  • dict(key与value)和set(key)

    dict和set dict (字典的使用) Python 内置了字典:dict的支持,dict全程dictiona...

  • 跟着大大学python(16)

    6 字典 6.1 一个简单的字典 字典 高效地模拟现实世界的情形 6.2 使用字典 python中,'字典是一系列...

  • python字典的使用

    字典以及元组的使用: 元组 数据 不可变

  • Python 字典的使用

    什么是字典 字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分...

网友评论

      本文标题:Python 字典的使用

      本文链接:https://www.haomeiwen.com/subject/allidltx.html