一定要特别注意,enumerate()
函数和 zip()
返回的不是列表类型,但可以使用list()将其转换为列表类型。
zip()
函数和 enumerate()
函数。前者用于将两个相同长度的列表中同位置的元素“绑定”到一起,后者用于将列表中的元素用数字的形式数出来。
两者返回的对象,都需要进一步用 list()
函数转换回列表。列表中每个元素都是一个元组。
在小贝心目中,四大名著的地位排序是:《三国演义》《西游记》《红楼梦》《水浒传》,他将四本书按他心目中的顺序录进了列表 books_favorite
中。我们能用用刚刚学过的代码帮他对 books_favorite
进行操作,附上数字表示的排名吗?
要求:1. 用 zip()
函数将 books
和 authors
以“著作名,作者”的形式结合成新列表。并将结果打印在屏幕上。
2. 新建 books_favorite
列表,按小贝喜爱的顺序排列四本书。
3. 用 enumerate()
函数,从 1
开始,枚举 books_favorite
列表,将结果打印在屏幕
程序:
books = ['红楼梦', '三国演义', '水浒传', '西游记']
authors = ['曹雪芹', '罗贯中', '施耐庵', '吴承恩']
# 用 zip() 将两个列表绑定
books_authors=zip(books,authors)
# 转换回列表后打印绑定结果
books_authors_list=list(books_authors)
print(books_authors_list)
# 新建 books_favorite 列表,顺序按小贝的喜好来
books_favorite=['三国演义', '西游记','红楼梦', '水浒传' ]
# 用 enumerate() 函数枚举结果,从 1 开始
books_favorite_id=enumerate(books_favorite,1)
# 转换回列表后打印结果
print(list(books_favorite_id))