python往现有列表中插入其他列表中的元素

现有一个电影的数据:包括电影的名称、电影上映的年限、导演等信息,分别存放于三个列表中,现在需要将这数据整合到一个数据中,可以使用列表的循环+insert()的API方法来操作,实现代码如下:

# -*- coding: utf-8 -*-
'''
@author: guxuhua
@date: 2019/10/31
电影数据:'天下无贼', '英雄', '卧虎藏龙', '枪火', '跛豪'
电影年限:2004, 2002, 2000, 1999, 1991
导演: '冯小刚', '张艺谋', '李安', '杜琪峰', '潘文杰'
将3者数据整合成一个数据
'''
# 定义一个电影列表对象
movies = ['天下无贼', '英雄', '卧虎藏龙', '枪火', '跛豪']
# 定义一个电影年限的列表对象
movies_time = [2004, 2002, 2000, 1999, 1991]
# 定义导演
movies_director = ['冯小刚', '张艺谋', '李安', '杜琪峰', '潘文杰']
# 通过循环方式,将时间数据元素和导演数据的元素插入到电影列表中
'''
第一个时间插入的位置是1
第一个导演插入的位置是2

第二个时间插入的位置是4
第二个导演插入的位置是5

第三个时间插入的位置是7
第三个导入插入的位置是8
。。。
'''
if len(movies) != len(movies_time) or len(movies) != len(movies_director):
    print('数据格式有误')
else:
    count = 1
    for l in range(len(movies)):
        movies.insert(count, movies_time[l])
        movies.insert(count+1, movies_director[l])
        count += 3
    print('时间数据插入完成')
print(movies)

执行后的效果如下:

python往现有列表中插入其他列表中的元素_第1张图片

与预期效果一致,完成!

当然,这个电影程序,还是可以进行继续改进的:将每一部电影作为一个元素存放在最终的集合数据中,改进后的代码如下:

# -*- coding: utf-8 -*-
'''
@author: guxuhua
@date: 2019/10/31
电影数据:'天下无贼', '英雄', '卧虎藏龙', '枪火', '跛豪'
电影年限:2004, 2002, 2000, 1999, 1991
导演: '冯小刚', '张艺谋', '李安', '杜琪峰', '潘文杰'
将3者数据整合成一个数据:存储了字典信息的列表
'''
# 定义一个电影列表对象
movies = ['天下无贼', '英雄', '卧虎藏龙', '枪火', '跛豪']
# 定义一个电影年限的列表对象
movies_time = [2004, 2002, 2000, 1999, 1991]
# 定义导演
movies_director = ['冯小刚', '张艺谋', '李安', '杜琪峰', '潘文杰']
# 定义一个合成后的集合数据
movies_info = []
if len(movies) != len(movies_time) or len(movies) != len(movies_director):
    print('数据有误')
else:
    # 将每组列表的第一个元素都存放入一个字典中
    for l in range(len(movies)):
        each_info = {"name": movies[l], "year": movies_time[l], "director": movies_director[l]}
        # 将字典数据以元素的形式存放入集合数据中
        movies_info.append(each_info)
print('数据存放完成')
for m in movies_info:
    print(m)

其实,就是将集合数据的每一项都写入到一个字典数据中,然后将改字典数据作为元素写入到集合中,执行结果如下:

python往现有列表中插入其他列表中的元素_第2张图片

你可能感兴趣的:(python)