您的位置:

Python Dictionary:快速解析和管理数据

一、什么是字典?

1、Python字典是一种可变容器,用于存储的值是键-值对(key-value pairs)。点方括号({})被用来创建字典。

    #创建一个空字典
    my_dict = {}
    
    #创建字典并提供键-值对
    my_dict = {'one':1,'two':2,'three':3}
    
    #创建字典并使用关键字参数
    my_dict = dict(one=1,two=2,three=3)

2、字典中的键必须是可哈希的(immutable)类型,这意味着它们不能被更改,而值有任意类型。例如,数字,字符串,元组等都是不可变的。列表, 字典,和集合是可变的。

3、字典是动态的,这意味着你可以添加,修改或删除元素。

二、添加元素

1、字典是动态的,这意味着你可以添加元素。你可以用下标符号添加一个键 - 值对:

    my_dict = {'one':1,'two':2,'three':3}

    #添加元素
    my_dict['four'] = 4

    #输出字典
    print(my_dict)

2、你还可以使用字典方法setdefault创建一个新键值对。这种方法允许你向字典添加一个新元素,只有当该元素拥有唯一名称时才会向它添加值。

    # 创建一个空字典
    my_dict = {}

    #使用setdefault添加元素
    my_dict.setdefault('one', []).append(1)
    my_dict.setdefault('one', []).append(2)
    my_dict.setdefault('two', []).append(3)

    #打印字典
    print(my_dict)

三、访问元素

1、你可以通过指定键名称获取它的值:

    my_dict = {'one':1,'two':2,'three':3}

    #访问元素
    print(my_dict['one'])

2、如果你想要获取一个不在字典中的键的值,可以使用字典中的方法get。get方法有两个参数,第一个是键,第二个是默认值,如果该键不存在,则返回默认值。

    my_dict = {'one':1,'two':2,'three':3}

    #访问元素
    print(my_dict.get('four', 'Not Found'))

四、删除元素

1、可以使用del语句从字典中删除一个键-值对:

    my_dict = {'one':1,'two':2,'three':3}

    #删除元素
    del my_dict['two']

    #打印字典
    print(my_dict)

2、pop方法用于删除一个指定的键,并返回它的值:

    my_dict = {'one':1,'two':2,'three':3}

    #Pop元素
    my_dict.pop('two')

    #打印字典
    print(my_dict)

五、迭代字典

你可以使用for循环遍历Python字典。字典的默认行为是迭代键(keys),但是它们也可以通过使用“items()”方法迭代为键-值对:

    my_dict = {'one':1,'two':2,'three':3}

    # 迭代字典keys
    for key in my_dict:
        print(key)

    # 迭代字典值
    for value in my_dict.values():
        print(value)

    # 迭代字典键-值对
    for key, value in my_dict.items():
        print(key, value)

六、合并两个字典

1、使用update方法将两个字典合并成一个字典:

    dict1 = {'one':1,'two':2}
    dict2 = {'three':3,'four':4}

    #合并两个字典
    dict1.update(dict2)

    #打印字典
    print("Updated dictionary : ", dict1)

2、两个字典也可以通过将它们传递给内置函数dict()来合并:

    dict1 = {'one':1,'two':2}
    dict2 = {'three':3,'four':4}

    #合并两个字典
    dict3 = dict(dict1.items() + dict2.items())

    #打印字典
    print(dict3)

七、排序一个字典

1、字典是无序的,因为它们基于散列表实现。然而,你可以按键或值对字典进行排序。如果你要按键排序,可以使用内置的sorted函数并将键迭代到它上:

    my_dict = {'one':1,'three':3,'two':2}

    #按键排序
    for key in sorted(my_dict):
        print("%s: %s" % (key, my_dict[key]))

2、如果你要按值排序,可以使用lambda函数:

    my_dict = {'one':1,'three':3,'two':2}

    #按值排序
    for key, value in sorted(my_dict.items(), key=lambda x: x[1]):
        print("%s: %s" % (key, value))

八、结语

Python字典是处理和管理数据的强大工具。你可以很容易地使用键-值对将数据组织成易于访问和使用的方式。它们是动态的,可以通过多种方式操作,如添加,删除和合并字典。同时,你可以迭代字典,按键或值排序。