Python学习笔记之字典(三)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012561176/article/details/81907311

嵌套:有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

1、字典列表,一个列表里面包含多个字典,即列表中嵌套了字典。

示例代码一如下:

#一个简单的字典列表

music1 = {'张学友':'情书','刘德华':'十七岁','黎明':'今夜你会不会来','郭富城':'浪漫樱花'};
music2 = {'张学友':'吻别','刘德华':'开心的马骝','黎明':'快乐2000年','郭富城':'动起来'};
music3 = {'张学友':'只想一生跟着你走','刘德华':'冰雨','黎明':'我来自北京','郭富城':'我是不是该安静的走开'};

musics = [music1,music2,music3];
for music in musics:
    print(music);

下面运行后的第一个是列表整体打印的,最下面那个才是上面代码运行过的:

示例代码二,一不小心吧省略号没加括号,竟然还能通过,还打印出Ellipsis省略的意思:

#字典列表示例二

musics = [];

for number in range(10):
    new_music = {'张学友':'情书','刘德华':'十七岁','黎明':'今夜你会不会来','郭富城':'浪漫樱花'};
    musics.append(new_music);

for music in musics[0:5]:
    print(music);
print(...);

print("共创建了音乐:" + str(len(musics)));

示例代码三,其中改变了第一个字典里面所有的值,还有第二个字典里面所有的值,然后再循环输出:

#字典列表示例三

musics = [];

for number in range(10):
    new_music = {'张学友':'情书','刘德华':'十七岁','黎明':'今夜你会不会来','郭富城':'浪漫樱花'};
    musics.append(new_music);

for music in musics[0:1]:
    for m in music.keys():
        if m == '张学友':
            music[m] = '吻别';
        elif m == '刘德华':
            music[m] = '开心的马骝';
        elif m == '黎明':
            music[m] = '快乐2000年';
        elif m == '郭富城':
            music[m] = '动起来';
for music in musics[1:2]:
    for m in music.keys():
        if m == '张学友':
            music[m] = '只想一生跟着你走';
        elif m == '刘德华':
            music[m] = '冰雨';
        elif m == '黎明':
            music[m] = '我来自北京';
        elif m == '郭富城':
            music[m] = '我是不是该安静的走开';
for m in musics[0:5]:
    print(m);
print("...");

print("共创建了音乐:" + str(len(musics)));

运行后如下图所示:

2、在字典中存储列表,有时候,需要将列表存储在字典中,而不是将字典存储在列表中。每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。示例代码如下:

#字典中存储列表

music = {
    '曹方':['遇见我','风吹过的下雨天'],
    '金海心':['把耳朵叫醒','那么骄傲'],
    '张悬':'我的宝贝'
};

print(music);

for m in music.items():
    print(m);

运行后如下图所示:

3、在字典中存储字典,在Python中,也可以在字典中存储字典,示例代码如下:

#字典中存储字典

users = {
    'user001':{
        'realName':'林梓然',
        'age':26,
        'sex':'男'
    },
    'user002':{
        'realName':'张三丰',
        'age':120,
        'sex':'男'
    },
    'user003':{
        'realName':'张芷若',
        'age':20,
        'sex':'女'
    },
};

for userName,userInfo in users.items():
    print("\n用户名为:" + userName);
    for name,info in userInfo.items():
        print(name + "为:" + str(info));

运行后如下图所示:

代码解析:其中先了解字典中嵌套字典的数据是如何的,这里主要截取上面部分代码:

​users = {
    'user001':{
        'realName':'林梓然',
        'age':26,
        'sex':'男'
    }
};
for userName,userInfo in users.items():
    print("\n用户名为:" + userName);
    for name,info in userInfo.items():
        print(name + "为:" + str(info));

首先定义个字典,字典里面的键为user001,值也为一个字典,所以后面循环的时候,循环第一次得到所有的键和值,此时键是一个字符串,值还是一个字典,接着循环刚才得到的值,就可以得到里面的所有键和值了。如果不清楚时可以在上面加多一点print打印,看下整体的输出。

以上内容仅供大家学习参考,谢谢!

猜你喜欢

转载自blog.csdn.net/u012561176/article/details/81907311
今日推荐