系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2
Part 1:示例说明
list_a = [1, 2, 3, 4]
,列表list_b = ['a', 'b', 'c', 'd']
['1+a', '2+b', '3+c', '4+d']
,其实就是上面两个列表每个对应元素分别进行如下操作str(a) + "+" + b
Part 2:方法1
list_a_b
list_a
)进行enumerate
方式遍历,获取其每个元素的值a,再根据位置信息获取另外一个列表对应元素b,2个元素进行运算输出clist_a_b
list_a = [1, 2, 3, 4]
list_b = ['a', 'b', 'c', 'd']
# 方法1
list_a_b = []
for i, e in enumerate(list_a):
a = e
b = list_b[i]
c = str(a) + "+" + b
list_a_b.append(c)
print(list_a_b)
代码截图
输出结果
Part 3:方法2
list_a_b = [str(a) + "+" + b for a, b in zip(list_a, list_b)]
list_a = [1, 2, 3, 4]
list_b = ['a', 'b', 'c', 'd']
# 方法2
list_a_b = [str(a) + "+" + b for a, b in zip(list_a, list_b)]
print(list_a_b)
Part 4:部分代码解读
list_a_b = [str(a) + "+" + b for a, b in zip(list_a, list_b)]' 核心在于
zip(list_a, list_b)zip
实现了一个打包的效果,将每个列表每个相同位置的元素进行组合,生成一个新的对象,这个对象可以通过list
函数转换为每个元素是一个元组的列表。zip
list_a = [1, 2, 3, 4]
list_b = ['a', 'b', 'c', 'd']
list_c = ['a', 'b', 'c', 'd']
a_b = zip(list_a, list_b)
print(a_b)
list_a_b = list(a_b)
print(list_a_b)
a_b_c = zip(list_a, list_b, list_c)
print(a_b_c)
list_a_b_c = list(a_b_c)
print(list_a_b_c)
运行结果
本文为原创作品,欢迎分享朋友圈