[英]Execute multiple lines with python in one line for loop
我有一个循环附加到名为list1
新列表上,并且可以正常工作,但是如何添加类似print(x)
或对list1.append(...)
有用的东西呢?
word="abcdefg"
list1=[]
[list1.append(word[i]) for i in range(len(word))]
print(list1)
我试过使用list1.append(word[i]);print("working")
和,
正如我在评论中所述, 列表推导 不仅仅用于单行执行for
循环。 它们非常强大,但是您需要阅读有关内容。 您可以看一下: Python列表理解:直观解释 。
但是,在这种情况下,您所做的所有代码就是将字符串转换为list并打印出来。 您可以按以下方式一行执行:
>>> print(list("abcdefg"))
['a', 'b', 'c', 'd', 'e', 'f', 'g']
您可以简单地-
list1 = [word[i] for i in range(len(word))]
要么
list1 = [w for w in word]
定义一个执行“更多行代码”的函数,并在理解中使用它
word="abcdefg"
list1=[]
def add_and_print(character, container):
container.append(character)
print("adding", character)
[add_and_print(character, list1) for character in word]
一开始的理解应该简短易懂,避免复杂,一个条件一个调用和一个for语句应该最大-如果需要复杂的循环等,请创建一个生成器
[call(something) for something in some_container if something == foo]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.