[英]finding string that starts or ends with greek letters in python
我想找到一个以希腊字母开头或结尾的字符串。 我为此编写了一个python脚本,但未给出期望的结果。
greekletters = ["alpha", "beta", "gamma", "delta", "epsilon", "zata", "eta", "theta", "iota","kappa", "lambda", "mu", "nu", "xi", "omikron", "pi", "rho", "sigma", "tau", "upsilon", "phi","chi", "psi", "omega"]
gl=["-alpha", "-beta", "-gamma", "-delta", "-epsilon", "-zata", "-eta", "-theta", "-iota" "- kappa", "-lambda", "-mu", "-nu", "-xi", "-omikron", "-pi", "-rho", "-sigma", "-tau","-upsilon", "-phi", "-chi", "-psi", "-omega"]
file="C:/Python26/test.txt"
f=open("greekletters.txt",'w')
with open(file,'r') as rf:
lines = rf.readlines();
c=0
for word in lines:
if word.strip() in greekletters or word.startswith(tuple(greekletters)) or word.endswith(tuple(gl)):
## f.write('1'"\n")
f.write(word.strip("\n")+"\t"'1'"\n")
c=c+1
else:
## f.write('0'"\n")
f.write(word.strip("\n")+"\t"'0'"\n")
c=c+1
print c
f.close()
读取文件后,您需要使用rstrip
从行中rstrip
( '\\n'
),此外,如果要忽略开始和结束空格,可以直接使用strip
:
for line in lines:
line = line.strip()
tgreek = tuple(greekletters)
if line in greekletters or line.startswith(tgreek) or line.endswith(tgreek):
do something
应该管用。 如果您不提前从行尾删除换行符'\\n'
,则该句子将永远不会以希腊字母endswith
。 如果句子的开头或结尾都有空格,也会发生同样的情况。
如果您不想忽略空格,请替换为line = line.rstrip('\\n')
。
此外,如果您使用with
打开文件,则无需close
,在with
语句的末尾python自动为您完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.