【问题标题】:Printing out a list from a For-Loop从 For-Loop 打印出一个列表
【发布时间】:2021-06-04 17:49:03
【问题描述】:

我下面的代码:

z= list(country)
del z[99]

for i in z:
    br=[]
    br=(data[i]['born'])
    print(br)

我从中得到的输出是:
4.5
3.2
9.0
4.3

但我希望 For 循环给我一个看起来像这样的列表: [4.5, 3.2 , 9.0 , 4.3]

在 for 循环中,我尝试执行 br=list(data[i]['born']),但这给出了一个错误,提示 'numpy.float32' object is not iterable 如何解决此问题?

【问题讨论】:

  • 可能是print([data[i]['born'] for i in z])?
  • 您是希望它在每次添加某些内容时打印出列表,还是要创建一个列表并在添加完所有内容后打印出最终结果?
  • @Mythalorian 我想要添加所有内容后的列表(最终结果)。就像上面的评论一样,但每次添加东西时它都会给我一个列表,这不是我想要的。我只想要一份最终名单。
  • @Zegary 如果你只想要一个从data 获得born 的列表,那么@joanis 评论就是你想要的。它称为列表推导,是创建此类列表的标准 python 方式。

标签: python list for-loop


【解决方案1】:

你可以尝试使用 append 方法将第一个列表的每个元素添加到新的空列表中,即 br=[], 在 for 循环中试试这个: ''' br.append(i) '''

【讨论】:

    【解决方案2】:

    两种可能的方式:

    br = []
    for i in z:
        br.append(data[i]['born'])
    print(br)
    

    或(更简洁):

    print(list(data[i]['born'] for i in x))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      • 2019-08-09
      • 1970-01-01
      • 2022-12-18
      • 2016-10-04
      相关资源
      最近更新 更多