版权声明:本文为博主原创文章,未经博主允许不得转载。 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打印,看下整体的输出。
以上内容仅供大家学习参考,谢谢!