假设我有一个字符串列表verbs = ["win", "dig", "be", "go", "break]
等。我想出了如何复制最后一个字母并添加" ing"给他们。但是,如何检查由辅音 - 元音 - 康纳特组成的字符串中的字符?
我有两个清单:
vowel = ["a", "e", "i", "o", "u"]
consonant = ["b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z"]
这是代码示例:
for ver in verbs:
if verb "I DON'T KNOW WHAT TO TYPE HERE":
verb = verb[:len(verb)] + verb[len(verb) - 1: len(verb)] + "ing"
- then do sth
答案 0 :(得分:2)
我使用 sets 进行快速会员资格测试:
$(document).ready(function(){
$("#btnSubmit").click(function(){
alert("Submit button is clicked");
});
});
然后看看那些最后3个字母是否在集合中:
import string
vowel = set("aeiou")
consonant = set(string.ascii_lowercase) - vowel # all letters that are not vowels
使用严格的子集测试或更紧凑:
if len(verb) > 2 and verb[-3] in consonant and verb[-2] in vowel and verb[-1] in consonant:
verb += verb[-1] + 'ing'
if len(verb) > 2 and {verb[-3], verb[-1]} <= consonant and verb[-2] in vowel:
verb += verb[-1] + 'ing'
语句使用扩充分配将最后一个字母加verb += verb[-1] + 'ing'
附加到'ing'
字符串值。负序索引从序列的末尾开始计算,因此verb
为您提供字符串中的最后一个字母:
-1
演示:
>>> verb[-1]
'k'
答案 1 :(得分:1)
我建议使用NodeBox或nltk这样的NLP包来代替编写自定义代码来附加ing
。可能有一些情况你可能会错过。
这里的一些答案可能会有所帮助:
这个库也非常有用 https://www.nodebox.net/code/index.php/Linguistics#verb_conjugation
一个例子:
import en
print en.verb.present_participle("be")
是