用于将列表列表拆分为每个列表的第一个元素的列表的命令

凯文·特雷霍

我试图从列表列表中创建2个列表,下面的代码是一个简单的示例,但是认为可以使用一个命令代替创建for循环进行拆分很有意义。

def add_five(x):
    return x,x + 5
result1=[]
result2=[]
nums = [11, 22, 33, 44, 55]
result = list(map(add_five, nums))
print(result)
for n in range(len(result)):
    result1.append(result[n][0])
    result2.append(result[n][1])
print(result1,result2)

列表列表为:

[(11, 16), (22, 27), (33, 38), (44, 49), (55, 60)]
result1=[11, 22, 33, 44, 55] 
result2=[16, 27, 38, 49, 60]

有没有可以使用for循环帮助的命令?

pp

您可以使用列表推导提取每个元素的n个元素tuple

L = [(11, 16), (22, 27), (33, 38), (44, 49), (55, 60)]

result1 = [i[0] for i in L]
result2 = [i[1] for i in L]

在功能上,您可以使用operator.itemgetter等效项:

from operator import itemgetter

result1 = list(map(itemgetter(0), L))
result2 = list(map(itemgetter(1), L))

如果您事先知道元组的大小,建议的解决方案是zip,它将输出一个元组列表,每个元组代表一个元组索引:

results = list(zip(*L))

[(11, 22, 33, 44, 55), (16, 27, 38, 49, 60)]

您甚至可以在此处使用序列解压缩而无需形成完整列表:

result1, result2 = zip(*L)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python根据子列表中的第一个元素将列表拆分为子列表

如何将列表分为相等的子列表,最后一个子列表由列表的第一个可能的元素组成

将列表拆分为列表列表

如何使用python将列表列表拆分为一个字典中的每个列表

从Prolog列表列表中的每个列表中删除第一个元素的最佳方法?

从tcl中的列表列表创建第一个元素的列表

是每个子列表的第一个元素?

将列表拆分为列表列表

从列表列中的每个列表中获取第一个元素

在Python的列表列表中查找第一个元素的总和

Python-如何替换列表列表中每个列表的第一个元素

在PySpark列的列表列表中获取第一个元素的最大值

如何根据每个子列表的第一个条目中的值将列表的python列表分为3个单独的列表?

根据给定的第一个元素从列表列表中检索列表

按内部列表的第一个元素对列表列表进行排序(Java或groovy)

如何将列表列表隐藏到数据框中并使列表的第一个元素作为索引

将列表拆分为列表列表

将一个列表中的 8 个元素拆分为另一个 C# 的第一个元素

基于第一个元素在列表列表中对列表进行分组

从列表列表中获取每个第一个元素

在 Python 中定义列表列表的第一个元素

删除列表列表的第一个元素,压缩列表列表?元素太多?

将一个列表列表拆分为子列表

将一个列表列表(每个包含 x 个项目)拆分为一个列表的两倍数量的列表,每个列表包含 x/2 个项目

根据子列表的第一个元素拆分子列表列表

合并从第一个列表中的某个元素开始的列表列表

如何将列表的第 i 个元素附加到列表列表中第 i 个列表的第一个条目?

仅在第一个元素上删除重复的列表列表

匹配python中两个列表列表之间的第一个元素