【问题标题】:Python while Loop output to ListPython while循环输出到列表
【发布时间】:2021-05-06 22:55:31
【问题描述】:

我编写了一个简单的代码,将 .wav 文件作为输入,然后找到频率并返回相应的音符。但是,为了添加更多功能,我需要输出是一个列表。 我所拥有的简化伪代码如下所示:

while some condition = true:
    compute various things
    print(frequency)

它确实正确打印了我的频率,但是由于它在一个 while 循环中,并且对于找到的每个音符,它都会输出频率,输出如下所示:

A2
G3
B4
A2
...

当我使用列表追加时,它会返回:

["A2"]
["G3"]
["B4"]
["A2"]
...

而我需要这样的东西:

["A2", "G3", "B4", "A2", ...]

我真的不知道如何去做这件事并将我的输出作为一个列表。

【问题讨论】:

  • 你能贴出你的代码吗
  • 你需要展示你是如何追加的,因为这是正确的解决方案。

标签: python list while-loop


【解决方案1】:

尝试在 while 循环之前创建一个空列表,然后在循环中附加到它:

result_list = []
while some condition = true:
    compute various things
    result_list.append(frequency)
    print(frequency)

【讨论】:

  • 这行得通。谢谢。我发誓我之前尝试过,整天坐在这段代码前面,可能只是需要休息一下。无论如何,谢谢!
【解决方案2】:

我认为您应该将 print 语句放在 while 之外:

result_list = []
while some condition = true:
    compute various things
    result_list.append(frequency)
print(frequency)

【讨论】:

    【解决方案3】:

    您是否尝试在 while 块之外打印列表?

    result_list = []
    while some condition = true:
        compute various things
        result_list.append(frequency)
    print(frequency)
    

    【讨论】:

      猜你喜欢
      • 2021-11-13
      • 2021-11-02
      • 2013-09-28
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      相关资源
      最近更新 更多