Python如何同时从zip后的列表与元组提取值 避免循环内二次拆分
实现循环遍历阶段直接拆分元组的方法
你可以利用Python的嵌套序列解包特性实现需求,zip(a, b)每次迭代返回的是长度为2的元组:第一个元素是a对应的二元组,第二个元素是b对应的标量。只需要在for循环的变量声明位置,匹配该嵌套结构写变量即可,不需要在循环体内额外做拆分。
正确可运行的写法如下:
>>> a = [('type1', 1), ('type2', 2)] >>> b = [res1, res2] >>> for (ai1, ai2), bi in zip(a, b): ... print(ai1, ai2, bi) ... type1 1 res1 type2 2 res2
如果不需要保留外层元组的括号,也可以直接写成for ai1, ai2, bi in zip(*zip(*a), b),不过上面的写法可读性更高,更推荐使用。
内容的提问来源于stack exchange,提问作者Pranjal Doshi
相关产品推荐
相关产品推荐

