python中的字符串
单引号与双引号一样。 str(rang(4)) 把列表转换成字符串。python没有字符概念。
子串的获得: aString = "hello world" aString [1:5]
字符串长度 len
in not in 在不在字符串中。
Python strip lstrip rstrip使用方法
详细出处参考:http://www.jb51.net/article/15698.htm
import string
a={}
f=open('E://test.txt')
while True:
line=f.readline()
if len(line) != 0:
for word in line.split():
a[word]=a.get(word,0)+1
else:
break
for word in a:
print("{0} occurs {1} times".format(word,a[word]))
使用python统计单词出现的个数
最近在看python脚本语言,脚本语言是一种解释性的语言,不需要编译,可以直接用,由解释器来负责解释。python语言很强大,而且写起来很简洁。下面的一个例子就是用python统计单词出现的个数。
- import sys
- import string
- #import collections
- if len(sys.argv) == 1 or sys.argv[1] in {"-h", "--help"}:
- print("usage: uniqueword filename_1 filename_2 ... filename_n")
- sys.exit()
- else:
- words = {}
- # words = collections.defaultdict(int)
- strip = string.whitespace + string.punctuation + string.digits + "/"'"
- for filename in sys.argv[1:]:
- for line in open(filename):
- for word in line.split():
- word = word.strip(strip)
- if len(word) >= 2:
- words[word] = words.get(word, 0) + 1
- # words[word] += 1
- for word in sorted(words):
- print("'{0}' occurs {1} times".format(word,words[word]))
import sys
import string
#import collections
if len(sys.argv) == 1 or sys.argv[1] in {"-h", "--help"}:
print("usage: uniqueword filename_1 filename_2 ... filename_n")
sys.exit()
else:
words = {}
# words = collections.defaultdict(int)
strip = string.whitespace + string.punctuation + string.digits + "/"'"
for filename in sys.argv[1:]:
for line in open(filename):
for word in line.split():
word = word.strip(strip)
if len(word) >= 2:
words[word] = words.get(word, 0) + 1
# words[word] += 1
for word in sorted(words):
print("'{0}' occurs {1} times".format(word,words[word]))
假设文件名是 uniqueword.py,在命令行下输入: uniqueword.py filename_1 filename_2 ... filename_n中单词出现的次数可以被统计出来。
第四行和第五行判断是否有输入参数,如果输入参数为空或者为-h, -help,则输出帮助信息。
从第七行到第14行是核心部分,逐一打开参数中指定的文件,并读取每一行,再用字符串的split方法把读取的行抽取出一个一个的单词,但单词长度大于2的时候,把此单词加入到字典words中。 其中words.get(word, 0)的意思是取出key等于word的value,如果key为空,则把value置为默认值0. 最后打印出结果。