Python 3如何将列表中的特定行添加到数组中

时间:2017-10-10 16:39:41

标签: python python-3.x

以下是我的代码。此代码从文件中读取行(称为compsc),从中删除\ n,将它们放入数组并随机打印它们,从而消除已打印的每个选项。我想知道的是如何只读取一组特定的行到数组中,因为我在.txt文件中会有很多行。那么,是否有一些代码可以做到这一点,还是我必须将false置于某个地方? 提前谢谢!

readlines()

2 个答案:

答案 0 :(得分:0)

您需要创建一些函数来决定是否保留该行。

import random

def line_filter(line):
    """Return True if you want to keep line, False otherwise."""
    ...

with open("compsc.txt", "r") as f:
    questions = [line.strip() for line in f if line_filter(line)]
    random.shuffle(questions)
    for question in questions[:4]:
        print(question)

答案 1 :(得分:0)

之前已经在本网站上介绍过。简而言之,如果您的文件不大,即不会导致内存问题,您确实可以使用readlines。另请参阅linecache,它已经过优化。