基础篇_010_函数_zip()拉链函数

zip(iterable, iterable)函数: 将两个可迭代序列的各元素对应组成元组。就像拉链一样左边对齐右边,不管是哪一边多出来元素,zip()函数都会将多余的部分抛弃掉。下面就来看一看zip()函数到底怎么用叭 ===》

 1 my_str = "hello"
 2 my_list = [1, 2, 3, 4, 5]
 3 my_tuple = ("a", "b", "c", "d", "e")
 4 my_set = {"first", "second", "third", "fourth", "fifth"}
 5 my_dict = {"name": "SimbaWang", "age": 19, "favorite": "computer"}
 6 
 7 print(list(zip(my_str, my_list)))
 8 # 输出:[('h', 1), ('e', 2), ('l', 3), ('l', 4), ('o', 5)]
 9 print(list(zip(my_list, my_tuple)))
10 # 输出:[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]
11 print(list(zip(my_list, my_set)))
12 # 输出:[(1, 'fifth'), (2, 'second'), (3, 'fourth'), (4, 'third'), (5, 'first')]
13 # 输出顺序混乱的原因:set集合数据类型是无序的,甚至每次输出的结果都不同。
14 print(list(zip(my_list, my_dict)))
15 # 输出:[(1, 'name'), (2, 'age'), (3, 'favorite')]
16 # 默认是取出字典的keys值,如果想要取出values值,则需加上.values() ↓
17 print(list(zip(my_list, my_dict.values())))
18 # 输出:[(1, 'SimbaWang'), (2, 19), (3, 'computer')]
19 # 说到这里就想起一个问题: 怎样将字典转换成这种(key, value)的一个一个元组形式? ↓
20 print(list(zip(my_dict.keys(), my_dict.values())))
21 # 输出:[('name', 'SimbaWang'), ('age', 19), ('favorite', 'computer')]

 

posted @ 2020-02-23 16:59  BNTU  阅读(238)  评论(0)    收藏  举报