python将列表元素连接到lis列表中

2024-10-04 01:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试以特定方式连接某些列表元素: 假设我有以下列表:

simpleline= [ 4 ]
otherline= [ 5, 7 ]
nextline=[ 1, 2 ]

我要生成以下列表:

 middlelist=[ [ 4, 5 ] , [ 4, 7 ] ]

最后:

finallist=[ [ 4, 5, 1] , [4, 7, 1] , [ 4, 5, 2 ] , [ 4, 7, 2 ] ]

我尝试了一个周期中的第一个过程:

simpleline= [ 4 ]
otherline= [ 5, 7 ]
nextline=[ 1, 2 ]

middlelist=[]
for element in range(len(otherline)):
           snap=simpleline[0].append(otherline[element])
           middlelist.append(snap)

print middlelist

但这会导致错误:

 AttributeError: 'int' object has no attribute 'append'

谢谢你的帮助


Tags: in元素列表for过程方式rangeelement
2条回答

在这里可以使用列表理解,只需要串联为最终列表

middle = [[i, j] for i in simpleline for j in otherline]
# [[4, 5], [4, 7]]

final = [j + [i] for i in nextline for j in middle]
# [[4, 5, 1], [4, 7, 1], [4, 5, 2], [4, 7, 2]]

我会用^{}来表示:

finallist = list(map(list, itertools.product(*[simpleline,otherline,nextline])))

>>> finallist
[[4, 5, 1], [4, 5, 2], [4, 7, 1], [4, 7, 2]]

如果您也需要middlelist

middlelist = list(map(list, itertools.product(*[simpleline,otherline])))

>>> middlelist
[[4, 5], [4, 7]]

相关问题 更多 >