生成列表[list(z) for z in zip(A,B)]为什么既要用list,又要加上[]?

A=['南京市','苏州市','无锡市','南通市','淮安市','连云港市','镇江市','扬州市','泰州市','宿迁市','徐州市','常州市','盐城市']
B=[1000,1003,800,900,432,100,909,876,100,50,31,980,2000]
[list(z) for z in zip(A,B)]
能够生成需要的列表,为什么既要用list(),又要用[]括起来呢?


回答:

为啥不试一下

zip 每个元素是 A/B 两个列表中同位置元素的 tuple,比如('南京市,1000)

list(z) 本质是 list(('南京市', 1000)),结果是['南京市',1000]

最外层的 [] 把 zip 返回的迭代器遍历一遍

这段代码用另一种写法就是 list(map(list,zip(A,B)))


回答:

佩服你提问题的勇气,这个问题拆解一下,自己运行一下就可以了呀。。。

  1. 最外层 []

一般语句都是下面的结构,用来收集结果

[ for in arr if len(_) == 3]

  1. 里面的 list. tuple 转 list。不加 list(z) 的结果是什么就明白了。。。

生成列表[list(z) for z in zip(A,B)]为什么既要用list,又要加上[]?

以上是 生成列表[list(z) for z in zip(A,B)]为什么既要用list,又要加上[]? 的全部内容, 来源链接: utcz.com/p/938002.html

回到顶部