我已经开始用Python制作字谜求解器,但是由于我使用了很多单词(英语词典中的每个单词(,我不希望它们在我的Python文件中作为数组,而是将它们放在一个名为dictionaryArray2.txt
的单独文本文件中。
我可以轻松地导入我的文本文件并使用 Python 在屏幕上显示我的话,但我找不到从数组中选择特定元素而不是全部显示它们的方法。
当我这样做print(dictionary[2])
它打印整个文件的第二个字母而不是数组的第二个元素时。我从来没有收到任何错误。它只是不起作用。
我已经尝试了多种方法,但它们都具有相同的输出。
我的代码如下:
f = open("dictionaryArray2.txt", "r")
dictionary = f.read()
f.close()
print(dictionary[2])
如果要将dictionaryArray2的内容拆分为单独的单词,请执行以下操作:
f = open("dictionaryArray2.txt", "r")
dictionary = f.read()
f.close()
print(dictionary[2])
如果要将 dictionaryArray2 的内容拆分为单独的行,请执行以下操作:
f = open("dictionaryArray2.txt", "r")
dictionary = f.readlines()
f.close()
words = dictionary.split()
print(words[2])
我认为问题是,您将整个文件读取到一个长列表中。如果你的输入字典是每行一个单词,我认为你想要的是得到这样的文本文件:
apple
bat
像这样:
dictionary = ['apple', 'bat']
有一个现有的答案可能会提供一些有用的代码示例,但简而言之,f.read()
将读取整个文件对象f
。 另一方面,f.readlines()
一次迭代一行。
引用官方的Python文档:
如果要读取列表中文件的所有行,也可以使用
list(f)
或f.readlines()
。