vowels = "aeiouy"
with open('dictionary.txt') as fp:
for line_str in fp:
line_str = line_str.strip().lower()
apos = line_str.find('a')
epos = line_str.find('e')
ipos = line_str.find('i')
opos = line_str.find('o')
upos = line_str.find('u')
如何在变量中记录位置并根据位置值按顺序打印?
答案 0 :(得分:0)
IIUC,您需要将每个元音的所有位置都放在文件的字符串\行中。 enumerate已用于循环遍历字符串的每个字符,并检查字符是否与元音匹配。
vowels = "aeiou"
fp='''habsafkbasf\n
asfgnkalsgna\n
asglkasgnn\
'''
for line_str in fp.split('\n'):
line_str = line_str.strip().lower()
print line_str
for c in vowels:
print c, ":", [pos for pos, char in enumerate(line_str) if char == c]
输出
habsafkbasf
a : [1, 4, 8]
e : []
i : []
o : []
u : []
a : []
e : []
i : []
o : []
u : []
asfgnkalsgna
a : [0, 6, 11]
e : []
i : []
o : []
u : []
a : []
e : []
i : []
o : []
u : []
asglkasgnn
a : [0, 5]
e : []
i : []
o : []
u : []