0

这是我的代码,我想做一个条件连接,我的问题是在for循环结束时我所有的变量都以\n. 要删除它,我需要删除每个变量。我认为应该有一些击球手的方法来处理这个问题。任何建议,将不胜感激。

foo = bar = remaining = ''
for i in ['foo', 'foo', 'hello', 'foo', 'tr', 'foo', 'bar', 'foo', 'el']:
    if 'foo' in i:
        foo += '\n%s' % i
    elif 'bar' in i:
        bar += '\n%s' % i
    else:
        remaining += '\n%s' % i
foo = foo.strip()
bar = bar.strip()
remaining = remaining.strip()
4

2 回答 2

6

而不是构建字符串,构建列表,'\n'.join然后当你完成时:

foos = []
bars = []
remaining = []
for i in ['foo', 'foo', 'hello', 'foo', 'tr', 'foo', 'bar', 'foo', 'el']:
    if 'foo' in i:
        foos.append(i)
    elif 'bar' in i:
        bars.append(i)
    else:
        remaining.append(i)

foo = '\n'.join(foos)
bar = '\n'.join(bars)
remaining = '\n'.join(remaining)
于 2013-09-22T20:59:26.747 回答
0
foo = ''
bar = ''
remaining = ''

_list = ['foo', 'foo', 'hello', 'foo', 'tr', 'foo', 'bar', 'foo', 'el']

for outer in xrange(len(_list)):
    for i, e in enumerate(_list):

        foo += '\n%s' % _list.pop(i) if 'foo' in e else ''
        bar += '\n%s' % _list.pop(i) if 'bar' in e else ''
于 2013-09-26T19:13:19.470 回答