首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中将4个列表合并为1

如何在python中将4个列表合并为1
EN

Stack Overflow用户
提问于 2017-08-21 01:41:03
回答 3查看 51关注 0票数 1

我的代码是这样的

代码语言:javascript
复制
testGraph=open(input("Enter a file name:"))
for line in testGraph:
  temp=line.split()

输出结果是这样的

代码语言:javascript
复制
['0', '1']
['2', '1']
['0', '2']
['1', '3']

我想把它们变成

代码语言:javascript
复制
[['0', '1'],['2', '1'],['0', '2'],['1', '3']]

有人能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2017-08-21 01:43:45

您可以使用itertools.chain()将列表展开为一个列表。

代码语言:javascript
复制
>>> cmd = ['ls', '/tmp']
>>> numbers = range(3)
>>> itertools.chain(cmd, numbers, ['foo', 'bar'])
<itertools.chain object at 0x0000000003943F28>
>>> list(itertools.chain(cmd, numbers, ['foo', 'bar']))
['ls', '/tmp', 0, 1, 2, 'foo', 'bar']

但是,如果您想要一个列表列表,那么添加到列表中将是您的选择。

代码语言:javascript
复制
testGraph=open(input("Enter a file name:"))
result = []
for line in testGraph:
  result.append(line.split())
票数 2
EN

Stack Overflow用户

发布于 2017-08-21 01:45:43

List comprehension,为你工作

代码语言:javascript
复制
testGraph = open(input("Enter a file name:")) 
result = [line.split() for line in testGraph]

执行:

代码语言:javascript
复制
In [29]: testGraph = open('abc.txt')

In [30]: [line.split() for line in testGraph]
Out[30]: [['0', '1'], ['2', '1'], ['0', '2'], ['1', '3']]
票数 2
EN

Stack Overflow用户

发布于 2017-08-21 01:53:35

这应该只需对您的代码进行最小的更改即可工作。然后,temp将拥有您想要的组合列表。

代码语言:javascript
复制
testGraph=open(input("Enter a file name:"))
temp = []
for line in testGraph:
  temp.append(line.split())
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45785079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档