【问题标题】:how to i convert vertical output of for loop into one list [duplicate]如何将for循环的垂直输出转换为一个列表[重复]
【发布时间】:2021-03-30 16:24:37
【问题描述】:

我有输出

3
3
4
4
5
6
6

我想把它放在列表中

[3,4,4,5,6,]

这是我的代码

grading_journal= {
'pup1': {   
            'name' : 'Adam',
            'surname' : 'Smith',
            'grade': [3,3,4,4]
},
'pup2': {
            'name' : 'Jenny',
            'surname3' : 'Lopez',
            'grade' : [5,6,5]   
},
'pup3': {
            'name' : '',
            'surname' : '',
            'grade' : []    
},
}

for pup in grading_journal.values():
    myList = [] 
    for element in pup['grade']:
        print(element)

如何将此垂直输出作为 for 循环的结果转换为一个像 [3,4,4,5,6,] 这样的水平列表?

【问题讨论】:

  • myList.extend(pup['grade']) 并摆脱第二个内循环
  • 并将myList = [] 移动到for pup .. 循环上方

标签: python python-3.x


【解决方案1】:

检查一下

my_list = [1, 2, 3]

print(str(my_list)) # [1, 2, 3]

# or

elements = ""
for el in my_list:
    elements += str(el) + ","

print(f"[{elements}]") # [1,2,3,]

【讨论】:

    【解决方案2】:

    只需将每个元素添加到您定义的列表中,并确保在循环之前定义 myList 以防止在每次迭代时覆盖它:

    myList = []
    for pup in grading_journal.values(): 
        for element in pup['grade']:
            myList += [element]
    

    那么如果你print(mylist) 你应该看到[3, 3, 4, 4, 5, 6, 5]

    【讨论】:

    • 我看到了这样的东西[3] [3, 3] [3, 3, 4] [3, 3, 4, 4] [3, 3, 4, 4, 5] [3, 3, 4, 4, 5, 6] [3, 3, 4, 4, 5, 6, 5]
    • 请分享您修改后的完整代码
    • 啊,我认为您在循环的每次迭代中都在打印。尝试在循环之后拉出你的打印语句。
    • 没错,你说得对,谢谢
    • 谢谢,如果解决了,请接受答案
    猜你喜欢
    • 2016-01-28
    • 2019-02-26
    • 2022-01-12
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多