2016-11-17 17 views
-2

"私は男の子が良かった"のような文字に文を壊そうとしていますが、各文字の文章の中に入りますが、 'は、両方の文字に対して同じ場所にとどまります。これら2つの同じ文字をどうやって分けることができますか?繰り返し文字列を持つ文字列python

with open("d:\Users\hazembazem\Desktop\python random\crap\encrypt.txt", "rb") as f: 
    file= f.read() 
    print file 
    file= list(file) 
    for item in file: 
     a=file.index(item) 
    print (a) 

このファイルは、「the boy was good」を含む単なるtxtファイルです。

文字の代わりであることを意味しますが、それは代わりだ。この私を示している。

0 
1 
2 
3 
4 
5 
6 
3 
8 
9 
10 
3 
12 
5 
5 
15 
+0

:、あなたはとしてenumerate()とともにcollections.defaultdict()を使用することができますか? – duncan

+0

私たちはそれを見ることができない場合、どうすれば修正するのですか? – MooingRawr

+1

'str.find(部分文字列)'メソッドは部分文字列の一番左のインデックスを返すからです。 - なぜそれが起こったのかまだわからない場合は、明確化のために。 – Nf4r

答えて

2

string.index(s, sub[, start[, end]])

が、部分文字列が見つからなかった場合ValueErrorを上げます。


string.find(s, sub[, start[, end]])

戻るのでsサブsubが発見された...


で最も低いインデックスは、ええ、それは何ではありません欲しいです。このうち

with open("filename") as f: 
    string = f.read() 
    print range(len(string)) 
    for i,c in enumerate(string): 
     print i,c 

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 
0 t 
1 h 
2 e 
3 
4 b 
5 o 
6 y 
7 
8 w 
9 a 
10 s 
11 
12 g 
13 o 
14 o 
15 d 
0

str.index/str.findのみ最も左のインデックスを返します。あなたは、それぞれを見つけた後で、手紙の検索を開始したい場所のインデックスを渡す必要があります。このような何か:find()よう

>>> found = -1 
>>> for i in xrange(x.count('o')): 
>>>  found = x.index('o', found+1) 
>>>  print 'Found "o" at index: {}'.format(found) 

Found "o" at index: 5 
Found "o" at index: 13 
Found "o" at index: 14 
0

ループのインデックス化とテキストの上にあなたのループした場合、あなたは、単に文字の両方を印刷するためにインデックスを使用することができますし、それが位置

text = list(file) 
for index in range(0,len(text)): 
    print(a[index], index) 

チェック

0

文字と対応するインデックスの間のマッピングを行い、の形式で格納する場合はあなたがこれまで持っているコードを投稿することができ

from collections import defaultdict 

my_string = "the boy was good" 
char_mapping = defaultdict(list) 

for i, c in enumerate(my_string): 
    char_mapping[c].append(i) 

# Content of `char_mapping`: 
# {'a': [9], 
# ' ': [3, 7, 11], 
# 'b': [4], 
# 'e': [2], 
# 'd': [15], 
# 'g': [12], 
# 'h': [1], 
# 'o': [5, 13, 14], 
# 's': [10], 
# 't': [0], 
# 'w': [8], 
# 'y': [6]}) 
関連する問題