“随机”取样(“random” sample)
在Python中有很多模块,其中有一个是模块的名称叫random。它在英文中就是随机的意思。导入这个模块用命令import random即可,import 是导入、输入的意思。在这个模块里有一个命令叫sample,它的意思是取样本。所谓取样就是从一些东西里面抽取一些来,然后进行分析。假设超市进货的时候,卡车拉来一大批苹果,经理可能会随机抽取一些苹果来验证质量,这就是取样本的一个过程。接下来,假设有一个列表中存储了苹果的质量,我们来随机取样。
>>> import random >>> apple = [32,76,88,10,24,256,32,56,80,40,50] >>> random.sample(apple,3) [80, 32, 56] >>>
上面第一行代码中的apple是一个列表,现在我们只要知道它是用中括号括起来的,以逗号隔开的数据集合就行了。apple里有11个数据,代表11个苹果的质量。第2行的代码是随机抽取3个苹果的质量的意思。我们看到了返回的结果也是一个列表。
简而言之,random.sample命令就是随机从一个序列中出取一些数据,当然,抽取的数据的数量不能大于序列的数据数量。下面的代码从26个英文字母中抽取10个字母。
>>> letters = 'abcdefghijklmnopqrstuvwxyz' >>> random.sample(letters,10) ['a', 'z', 'y', 'e', 'l', 'p', 't', 'v', 'b', 'w'] >>>
关于random模块,先就叙述到这里。上次我们用open命令打开文件,一次性读取了文件的全部内容,接下来我们一行一行的读取。
按行读取文本文件(Read text files by line)
打开文本文件用open命令,它会返回一个文件对象。这个文件对象是可以用for来迭代的。以下是迭代文件对象的示例:
>>> f = open("D:/test.txt") # 默认为只读方式打开文件 >>> for line in f: # 以行迭代文件对象 print(line) # 打印line 静夜思 李白 >>> f.close()
通过上面迭代f,我们看出来了它是以行来迭代的,每次迭代,line就获取一行的内容。在test.txt文件中,只有紧挨着的两行的内容,由于print打印line完成的时候会默认打印一个换行符号,所以上面的静夜思下面多打印了一个换行符号。当文件的内容都输出了后,不要忘了用close命令关闭文件。