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

mac2024-03-19  24

现有一个电影的数据:包括电影的名称、电影上映的年限、导演等信息,分别存放于三个列表中,现在需要将这数据整合到一个数据中,可以使用列表的循环+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)

执行后的效果如下:

与预期效果一致,完成!

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

# -*- 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)

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

最新回复(0)