Pyhton字典

一、Python字典定义

在python中,字典是一系列键—值对,每个键都与一个值相关联,可以使用键来访问与之关联的值。与键相关的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典的值。

在Python中,字典用放在花括号{}中的一系列键—值对表示

例:alien = {‘color’:‘green’,'points':5}

键—值对是两个相关联的值,指定键时,Python将返回与之相关联的值,键和值之间用冒号分隔,而键—值对之间用逗号分隔,在Python字典中存储多少个键—值对都可以,最简单的是字典只有一个键—值对。

二、字典的常用操作

1、访问字典的值

要获取与键相关联的值,可依次指定字典名和放在方括号内的键

alien_0 = {'color':'green'}

print(alien_0['color'])

2、添加键—值对

字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用方括号括起来的键和相关联的值。

alien_0 = {'color':'green','points':5}

alien_0['x_position'] =0

alien_0['y_position']=25

print(alien_0)

3、修改字典中的值

alien_0 = {'color':'green','points':5}
print(alien_0)
print("modify value:")
alien_0['color'] = 'yello'
print(alien_0)

4、删除键-值对

alien_0 = {'color':'green','points':5}

alien_0 = {'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)

5、遍历字典

1、遍历所有的键—值对

user_0 = {
    'usernam': 'efermi',
    'first': 'enrico',
    'last': 'fermi',
}

for key, value in user_0.items(): #user_0.items()返回的是一个键——值对列表
    print("\nkey" + key)
    print("\nvalue:" + value)

for语句第二部分包含字典名和方法items(),它返回一个键—值对列表,接下来,for循环依次将每个键—值对存储到指定的两个变量中;注意,即便遍历字典是,键—值对的返回顺序与与存储顺序不同。Python不关系键—值对的存储顺序,而只跟踪键和值之间的关联关系。

6、遍历字典中的所有键

在不需要使用字典的值时,方法keys()很有用

favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}
for name in favorite_languages.keys():
    print(name.title())

6、遍历字典中的所有值

如果只需要字典中的值,可使用values()方法,发返回的是一个值列表,而不包含任何键

favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
}
for name in favorite_languages.values():
    print(name.title())

为了剔除重复项可使用集合set,在set中每个元素都必须是独一无二的

for name in set(favorite_languages.values()):
    print(name.title())

7、嵌套

有时候,需要将一系列字典存储在列表中,这称为嵌套,可以在列表中嵌套字典,也可以在字典中嵌套列表甚至是字典中嵌套字典;

alien_0 = {'color':'green','points':5}
alien_1 = {'color':'yello','points':15}
alien_2 = {'color':'red','points':25}

aliens = [alien_0,alien_1,alien_2]
for alien in aliens:
    print(alien)

7.1、在列表中存储字典

pizza = {
    'crust':'thick',
    'toppings':['mushrooms','extra cheese']#嵌套的列表
}
for topping in pizza['toppings']:
    print("\t"+topping)

7.2、在字典中嵌套字典

适用场景:如果有多个网站用户,每个都有独特的用户名,可在字典中将用户名作为键,然后将每位用户的信息存储在一个字典中,并将该字典作为与用户名相关联的值。

users = {
    'aeinstenin': {
        'first': 'albert',
        'last': 'einstenin',
        'location': 'princetion',
    },
    'mcuire': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    }
}

for username, user_info in users.items():
    print("\nUsername" + username)
    full_name = user_info['first'] + " " + user_info['last']
    location = user_info['location']
    print("\tfull_name" + full_name)
    print("\tlocation" + location)

7.3、字典的删除元素的方法

(1)、pop(key[,default]:删除指定的key,并将key所对应的值返回

            d = {'a':1,'b':2,'c':3}

            删除key值为‘a’的元素,并将值赋值给变量e;

            e = d.pop('a')

            print(e)

            如果key不存在,则可以设置返回值

            e2 = d.pop('m','404')

            print(e2)

            如果key不存在,不设置返回值就报错(python3不报错)

             e3 = d.pop('m')

(2)、del[d['key']]

            d = {'a':1,'b':2,'c':3}

            删除给定key的元素:

           del d['a']

(3)、popitem():python3中popitem()方法的作用是删除字典中的最后一对键和值,并将键和值返回

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

   

(4)、clear:一次性删除字典中的所有元素

                  d = {'a':1,'b':2,'c':3,'d':5}

                  print(d)

                  d.clear()

                  print(d)

发布了14 篇原创文章 · 获赞 1 · 访问量 279

猜你喜欢

转载自blog.csdn.net/weixin_38829588/article/details/104277228