我使用的应用程序不允许使用新行,因此对于此示例,我需要将代码写为一行。
我尝试了分号字符,但我不知道如何处理for loops
。我是否必须在分号后添加空格,或者我可以在没有空格的情况下拼写语句?对于for循环,我应该使用单个空格,4个空格还是仅使用选项卡?我不确定应用程序是否会保留标签,但新行会成为单个空格。
所以我需要这样做:
statement1;statement2;forloop:;for_loop_statement1;statement3
编辑:实际代码:
nums = [substring.split(',') for substring in s.split()]
for row in nums:
row[1] = '0'
return ' '.join(','.join(row) for row in nums)
答案 0 :(得分:2)
这可能是解决问题的更好方法(使用or
和__setitem__
更改row
的内容)。要更改要替换的项目,只需将1
中的row.__setitem__(1, '0')
更改为您想要的任何索引。
def foo(s):
nums = [substring.split(',') for substring in s.split()];return ' '.join(','.join(row.__setitem__(1, '0') or row) for row in nums)
print foo('a,b,c d,e,f, g,h,i')
<强>输出:强>
a,0,c d,0,f, g,0,i
这是有效的,因为__setitem__
就地工作,因此总是返回None
。由于row.__setitem__(1, '0') or row
中的第一个语句是None
,因此or
之后的表达式的结果(即row
,这就是我们想要的)。
答案 1 :(得分:0)
来自我的终端命令行:
>>> x=1;y=2
>>> x
1
>>> y
2
>>> for i in range(1,5):print(i);pass
...
1
2
3
4
>>>