【问题标题】:List comprehension to loop列表理解循环
【发布时间】:2021-02-14 10:33:49
【问题描述】:

所以我创建了一个工作列表理解,但是,为了让一些刚学习 Python 的学生更容易,我想获得一些帮助,将这个理解变成一个循环。我有一个包含多个列表元素的列表,我想用 old_list 中的元素 0 创建一个 new_list,以下代码可以正常工作。

old_list = [['12', '24'],['8', '16'],['4','8']]
new_list = []
new_list = [i[0] for i in old_list]
print(new_list)

output:['12', '8', '4']

但是,我想把它变成一个 for 循环,我已经尝试了很多不同的方法,所以有人可以解释一下如何做到这一点。

我试过了:

for i in old_list[0]:
    new_list.append(i)
print(new_list)

还有很多,但我仍然无法真正理解如何做到这一点。

谢谢!!

【问题讨论】:

    标签: python list for-loop list-comprehension


    【解决方案1】:

    您的列表理解循环遍历每个列表元素,该列表元素是一个列表,并且仅在索引 0 处获取值。您尝试的是遍历所有第一个列表值,将它们全部取走。正确的做法是遍历主列表,从每个列表中取出第一个值。

    new_list = []
    for value in old_list:
        new_list.append(value[0])
    print(new_list)
    

    【讨论】:

    • 你能解释一下你改变了什么以及为什么?
    • 谢谢,这有效,我以为我做到了,但现在我发现我确实错过了将元素放在值内,非常感谢!
    猜你喜欢
    • 2022-11-30
    • 2022-01-12
    • 2013-09-10
    • 2023-03-11
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    相关资源
    最近更新 更多