countLeft=0
countRight=0
for line in open("jane_eyre_sentences.txt"):
line_strip = line.rstrip();
splitWord = line_strip.split(";");
leftWord=splitWord[0].split();
rightWord=splitWord[1].split();
for word in leftWord:
countLeft+=1
for word in rightWord:
countRight+=1
示例:
-----“贝西说我做了什么?”我问。
-----“简,我不喜欢小伙子或发问者;此外,一个孩子真的禁止这种长老的事情。
-----坐在某处;直到你能说出愉快的声音,然后保持沉默。”
每个句子中最多只能有一个分号。我的问题是某些句子不包含分号,因此rightWord = Word [1] .split()会超出范围。该怎么做?
答案 0 :(得分:0)
首先,使用分号作为分隔符分割字符串。
split_string将是一个列表。现在检查长度。如果长度为1,则字符串没有分号。如果长度为2,则长度为1个分号。 (我不知道您是否会遇到一个问题,因为问题中没有提到该分号。)
检查长度后,您可以对单词进行拆分计算。
完整示例代码:
split_string = some_string.split(";")
if not split_string:
left_words = 0
right_words = 0
elif len(split_string) > 1:
left_words = len(split_string[0].split())
right_words = len(split_string[1].split())
else:
left_words = len(split_string[0].split())
right_words = 0
print "Left words: ", left_words
print "Right words: ", right_words
如果 some_string 是*“这是一个带有;分号的字符串”,则输出为:
Left words: 6
Right words: 1
如果 some_string 是*“这是没有分号的字符串”,则输出为:
Left words: 7
Right words: 0
干杯。