栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第6章 字典

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第6章 字典

一、有关字典的基础知识以及基本操作

1.字典:字典是一系列键值对。每个键都与一个值相关联,我们可以使用键来访问相关联的值,这个值可以是字符串、数值、列表乃至字典。在python,字典放在花括号({ })内,键和值之间用冒号分隔开,键值对之间用逗号分隔开。

注意:这个逗号,在字典内嵌字典时,非常容易被忘记哦,看到的小伙伴们多注意一下下~~~

2.访问字典中的值:

(1) 方法一:首先指定字典名,其次在方框号内部指定存放值的键;

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

(2)方法二:使用方法get(),该方法常用于不确定指定的键是否存在的情况;使用方法get()来访问值可以指定两个参数,其中第一个参数是必不可少的,该参数用于指定键;第二个参数是可选的,用于指定当指定的键不存在时所要返回的值。

alien_0 = {'color': 'green', 'point': 5}
alien_0 . get('point', 'No point value assigned.')

3.添加键值对:由于字典本身是一种动态结构,因此可以随时在其中添加键值对。只需要以此指定字典名,用方括号括起的键和相关联的值。

alien_0 = {'color': 'green', 'point': 5}
alien_0['x_position'] = 0
alien_0['y_position'] = 25

4.修改键值对:依次指定字典名、用方括号括起的键、以及与该键相关联的新值

alien_0 = {'x_position': 0, 'y_position': 25, 'speed': 'medium'}
if alien_0['speed'] == 'slow':
    x_increment = 1
elif alien_0['speed'] == 'medium':
    x_increment = 2
elif alien_0['speed'] == 'fast':
    x_increment = 3
alien_0['x_position'] = alien_0['x_position'] + x_increment

5.使用del语句永久地删除键值对,必须指定字典名和用方括号括起的需要删除的键

alien_0 = {'color': 'green', 'point': 5}
del alien_0['color']
del alien_0['point']

6.有类似对象组成的字典:可以使用多行来定义有类似对象组成的字典,格式为:在输入做花括号后点击回车,在下一行缩进4个空格来指定第一个键值对,并在它的后面加一个逗号。以此类推,直到最后一个键值对,并在其下一行缩进四格添加一个花括号。其中一个较为不错的办法是在最后一个键值对后面也加上逗号。

favorite_languages = {
    'jen': 'python',
    'sarah': 'c', 
    'edward': 'ruby',
    'phil': 'python',
    }

二、遍历字典

1.使用for循环和方法items()遍历所有键值对:方法items()的作用是返回一个键值对的列表

user_0 = {
    'username': 'efermi',
    'first': 'enrico',
    'last': 'fermi',
    }
for key, value in user_0 . items( ):
    print(f"{key}: {value}")

2.使用for循环和方法key()遍历所有键:同时还可以使用函数sorted()对方法key()所提取出的列表进行操作,使其按着字母表的顺序,遍历字典中所有的键。

favorite_languages = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
    }
friend = ['jen', 'sarah']
for name in sorted(favorite_languages . keys()):
    print(f"{name},hi!")
    if name in friend:
       print(f"{name}, I know you like {favorite_languages[name]}")

3.使用for循环和方法values()遍历字典中所有值:同时为了剔除重复项,可使用集合(set)对方法values()所提取出的列表进行炒作

favorite_language = {
    'jen': 'python',
    'sarah': 'c',
    'edward': 'ruby',
    'phil': 'python',
    }
for language in set(favorite_language . values()):
    print(f"{language}")

三、嵌套

1.在列表中存储字典:步骤首先定义字典,再将其存储到列表中

alien_0 = {'color': 'green', 'point': 5}
alien_1 = {'color': 'yellow', 'point': 10}
alien_2 = {'color': 'red', 'point': 15}
aliens = [alien_0, alien_1, alien_2]
for alien in aliens:
    for value in alien . values():
        print(f"{value}")

2.在字典中存储列表:

favorite_languages = {
    'jen': ['python', 'ruby'],
    'sarah': ['c'],
    'edward': ['ruby', 'go'],
    'phil': ['python', 'haskell']
    }
for name, languages in favorite_languages . items():
    if len(languages) == 1:
        print(f"{name}, I know you love{languages}")
    else:
        print(f"{name}'s loving languages:")
        for language in languages:
            print(language)

3.在字典中存储字典:注意一定别忘记键字对与键字对之间的逗号

users = {
    'aeinstein' : {
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
        },
    'mcurie' : {
        'first': 'marie',
        'last' : 'curie',
        'location': 'paris',
        }
     }
for name, infor in users . items():
    print(f"{name}'s information:")
    full_name = f"{infor['first']} {infor['last']}"
    location = f"{infor['location']}"
    print(full_name)
    print(location)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/302557.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号