[英]How do I filter out only the hash tagged word from this list and output to a text file?
[英]How do I get a random word from a list from a text file?
import random
with open('words.txt','r') as f:
for line in f:
for word in line.split():
LIST = []
LIST.append(word)
answer = random.choice(LIST)
print(answer)
我的文本文件由几个词组成,文本文件中的最后一个词总是被选为答案。 文本文件中的单词由空格分隔。 我拆分文本错了吗? 如何从列表中随机获取一个单词?
试试这个更优化的解决方案,而不是创建多个循环
import random
LIST=[]
with open('samplefile.txt','r') as f:
LIST=f.read().split()
answer = random.choice(LIST)
print(answer)
对于您的解决方案,您只需将 LIST=[] 放在循环之外
import random
LIST = []
with open('samplefile.txt','r') as f:
for line in f:
for word in line.split():
LIST.append(word)
answer = random.choice(LIST)
print(answer)
这是工作
import random
LIST = []
with open('words.txt','r') as f:
for line in f:
for word in line.split():
LIST.append(word)
answer = random.choice(LIST)
print(answer)
您每次都在创建列表,因此它返回了您创建的最后一个列表
每次读取一行时,您都在循环内初始化列表,这会导致列表被截断,最后只包含一个值。 顺便说一句,不要为变量使用 Python 方法名称。
尝试这个:
import random
myList = list()
with open('words.txt','r') as f:
for line in f:
for myWord in line.split():
myList.append(myWord)
answer = random.choice(myList)
print(answer)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.