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 に答える