首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印列表中的列表

如何打印列表中的列表
EN

Stack Overflow用户
提问于 2020-05-21 10:06:10
回答 2查看 32关注 0票数 0

注意:在python2.7中创建的代码

我在学校上了一堂机器人课,我们正在学习蟒蛇。

这项任务就是要

n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]

并将其打印出来

1

2

3

4

5

6

7

8

9

当我尝试我的代码时,我得到了错误消息

我试着在网上看看这意味着什么,但我刚刚开始学习python,我找不到任何答案。

我做错了什么?我如何修复我的代码?

第一篇文章很抱歉弄得一团糟

EN

回答 2

Stack Overflow用户

发布于 2020-05-21 10:10:44

出现错误的原因:

您会得到以下代码行中的错误

代码语言:javascript
复制
results.append(lists[numbers[each_list]])

因为numbers是一个整数,而numbers[each_list]不是有效的函数。因此,请正确使用方括号:

代码语言:javascript
复制
results.append(lists[numbers][each_list])

其他方法:

你实际上不需要使用range函数:

代码语言:javascript
复制
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
for i in n:
    for j in i:
        print(j)

或者一个线条:

代码语言:javascript
复制
print('\n'.join(str(j) for i in n for j in i))

或者,如果您要拼合嵌套列表:

代码语言:javascript
复制
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
def flat(lis):
    res = []
    for i in lis:
        for j in i:
            res.append(j)
    return res
flat_n = flat(n)

或者一行代码:

代码语言:javascript
复制
>>> n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
>>> flat = lambda x: [j for i in x for j in i]
>>> flat(n)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

或者只是简单地说:

代码语言:javascript
复制
flat_n = [j for i in n for j in i]
票数 0
EN

Stack Overflow用户

发布于 2020-05-21 10:18:52

代码语言:javascript
复制
n=[[1,2,3],[4,5,6,7,8,9]]

def flatten(lists):
    results=[]
    for lists in n:
        for numbers in lists:
            results.append(numbers)
    return results
new_list =(flatten(n))

for num in new_list:
    print (num)


When Executed

1
2
3
4
5
6
7
8
9
>>> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61926006

复制
相关文章

相似问题

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