0

我写下了下面给出的python代码,我试图进行相同的更改以从输出中删除空间,但它对我不起作用:

text = "000000000000000000000000000000100000000000000000000100000000000001010000000000"

result = []

for item in enumerate(text):
    i, ch = item
    if ch == '1':
        result.append(i+1)
x = result

for i in xrange(len(x)):
    print i+1,':',x[i],

这段代码的输出是:

1 : 24 2 : 37 3 : 45 4 : 56 5 : 66

我想进行一些更改,以便可以产生如下输出:

1:24 2:37 3:45 4:56 5:66
4

1 回答 1

4

使用字符串格式:

for i, x in enumerate(result, start=1):
    print '{}:{}'.format(i, x),

#output: 1:31 2:52 3:66 4:68

相反,如果xrange(len(x))用于索引使用enumerate.

enumerate还允许我们提供start索引,因此您的代码中的第一个循环可以更改为:

for i, ch in enumerate(text, start=1):
    if ch == '1':
        result.append(i)
于 2013-11-11T11:15:09.577 回答