Python - 从文件中随机打印行数

标签 python random

如果 file.txt 包含:

appple
cheese
cake
tree
pie

使用这个:

nameFile = ("/path/to/file.txt")
nameLines = open(nameFile).read().splitlines()
randomName = random.choice(nameLines)

这只会打印 file.txt 中的 1 行

我将如何(随机)打印 1-2 行?

示例:

第一个输出=苹果
第二个输出 = cheesetree
第三个输出=馅饼
第四个输出=蛋糕

最佳答案

要生成多个随机数,请使用 random.sample() .您可以随机化样本大小:

randomNames = random.sample(nameLines, random.randint(1, 2))

这会为您提供一个包含 1 或 2 个项目的列表,这些项目是从输入中随机抽取的样本。

演示:

>>> import random
>>> nameLines = '''\
... apple
... cheese
... cake
... tree
... pie
... '''.splitlines()
>>> random.sample(nameLines, random.randint(1, 2))
['apple', 'cake']
>>> random.sample(nameLines, random.randint(1, 2))
['cheese']

如果需要,使用 str.join() 将单词连接在一起:

>>> ' '.join(random.sample(nameLines, random.randint(1, 2)))
'pie cake'
>>> ' '.join(random.sample(nameLines, random.randint(1, 2)))
'cake'

关于Python - 从文件中随机打印行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193433/

相关文章:

python - 别名 :/usr/local/bin/pip3: not found, 但 .bashrc 是正确的

python - Django url反向和正则表达式

Haskell:如何播种(设置 Data.Random 使用的熵)?

javascript - 在javascript中生成不同语言的字符串

haskell - 使用 Haskell 的随机元素网格

python - 从Python中的df列中删除字符串

python - 在 Python 中生成 sleep 日志可视化

python - 默认情况下,JSON 库是 python 的一部分还是外部包。 simplejson 和 Json 是不同的包吗

mysql - mysql的随机值

c - 为什么用OpenMP生成随机数没有提速?