2017-02-19 87 views
1

是否可以将此代码转换为单行?是否有可能将此Python代码转换为单行

for x in xrange(m): 
    for y in xrange(n): 
     e.append(c[y][x]) 
    f.append(''.join(e)) 
    e=[] 

我的不完整的解决方案:

e=[(c[y][x]) for x in xrange(m) for y in xrange(n)] 

我不知道如何将最后两行加... 有没有办法在我的不完整的解决方案添加最后两行?

回答

0

这可能做的伎俩:

f = [''.join(c[y][x] for y in xrange(n)) for x in xrange(m)] 
#   ^^^^^^^^^^^^^^^^^^^^^^^^^^---- generator expression for e 

你外环编译f,不e。这还假设fe是外循环开始处的空列表。如果你一直在构建一个嵌套理解的单子列表,你应该有for-表达式的范围;

+1

好的。谢谢先生。并感谢编辑。呵呵 :-) –

相关问题