2024-09-29 17:14:35 发布
网友
你好,我在学Python, 在C++中,从STDIN中读取字符串,我只需做
string str; while (cin>>str) do_something(str)
但在python中,我必须使用
line = raw_input()
那么
x = line.split()
然后我必须循环遍历列表x来访问每个str到do_something(str)
do_something(str)
这看起来像是很多代码,只是让每个字符串用空格或空格分隔 所以我的问题是,有更简单的方法吗?
map(do_something, line.split())
Python对您来说并不是一种特殊的输入形式,但是为它制作一个小生成器当然很简单:
def fromcin(prompt=None): while True: try: line = raw_input(prompt) except EOFError: break for w in line.split(): yield w
然后,在应用程序代码中,使用for语句循环(通常是在应用程序代码级别循环的最佳方式):
for
for w in fromcin(): dosomething(w)
没有真正的“更容易”的方法,因为Python没有内置的格式化的字符串函数,比如C++,^ ^ }。
也就是说,您可以通过组合操作来缩短代码:
for str in raw_input().split(): do_something(str)
Python对您来说并不是一种特殊的输入形式,但是为它制作一个小生成器当然很简单:
然后,在应用程序代码中,使用
for
语句循环(通常是在应用程序代码级别循环的最佳方式):没有真正的“更容易”的方法,因为Python没有内置的格式化的字符串函数,比如C++,^ ^}。
也就是说,您可以通过组合操作来缩短代码:
相关问题 更多 >
编程相关推荐