【问题标题】:How can I turn these python lines as a list comprehension?如何将这些 python 行转换为列表理解?
【发布时间】:2019-11-16 16:25:14
【问题描述】:

我需要这方面的帮助,如何将这些行写成列表理解

   t_averaged = []
   for i in range(len(i_averaged)-1):
     t_av = t[i_averaged [i] ]+ time_intervall /2
     t_averaged.append(t_av )

【问题讨论】:

  • 先学习如何在没有range(len(..))的情况下使用for-loop
  • 你尝试了什么?它应该几乎没有变化地转换为列表理解。

标签: python list for-loop list-comprehension spyder


【解决方案1】:

应该是

t_averaged = [
    t[i_averaged[i]] + time_intervall/2
        for i in range(len(i_averaged)-1)
] 

并且没有range(len(...))

t_averaged = [
    t[item] + time_intervall/2
        for item in i_averaged[:-1]
] 

【讨论】:

  • i_averaged[:-1] 忠实于问题中的原始代码,这很好。但是,我怀疑 range(len(..) - 1) 的使用是原始代码中的一个错误:OP 可能真的打算遍历 i_averaged 的所有元素。
  • @NicholasM 可能你是对的。 len()-1 对我来说也很奇怪,但 OP 对问题只字未提,所以我保留了它。
猜你喜欢
  • 2020-03-12
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多