Python-3:以下代码为何在print语句中不返回任何内容?

时间:2018-10-19 05:37:27

标签: python python-3.x data-structures

以下是我的代码:

mod_ping:
     send_pings: true
     ping_interval: 120
     ping_ack_timeout: 60
     timeout_action: none

为什么下面的代码在打印语句中什么都不返回?

非常感谢!

3 个答案:

答案 0 :(得分:0)

问题是当您执行v = lst.append(s)时,它什么也不返回。

解决方案:

lst=list()

n= int(input())

for i in range(n):
    s=input('Enter a String ')
    lst.append(s)
    print(lst)

此外,该代码可以写得更短:

print([i for i in [input() for j in range(int(input()))]])

答案 1 :(得分:0)

尝试一下

lst.append(s)
print(lst)

答案 2 :(得分:0)

您的问题是.append不会返回要追加的列表。没有存储在v中。

通过简化,您可以预防错误。可以这样简化:

  
    
      

print([[input('input a string')for i in range(0,int(input('Enter a number'')))]))

    
  

这看起来很复杂,但实际上是循环的简写形式,称为 List Comprehension 。它通常用于创建新列表。您甚至可以在最后添加一个条件。一探究竟!

  
    
      

new_list = [如果过滤器(i),则old_list中i的表达式(i)]

    
  

[如果我想让我在i中代表我,,如果您想听起来有趣!

共有三个部分。

1. expression(i)是每次循环时都会添加到列表中的内容。

2。 old_list中的i 是您的典型for循环。

3。如果需要,请在末尾添加 if

因为这会创建一个新的[列表],所以您可以返回,打印或存储在变量中。