python-3.x - 如何从通过导入 .txt 文件生成的列表中选择随机作品?
问题描述
所以我有一个 .txt 文件,其中每行包含美国每个州的名称、缩写、昵称和首都。
我需要在不同的行上打印 5 个随机状态的名称,一个在另一个之下。文本文件看起来像 -
Alabama,AL,Cotton State,Montgomery
Alaska,AK,The Last Frontier,Juneau
Arizona,AR,Grand Canyon State,Phoenix
Arkansas,AK,Land of Opportunity,Little Rock
and so on...
我导入了文件并通过在逗号处拆分将其放入列表中。我有一个所有名字的列表。但是当我跑random.choice(data2)
而不是得到一个随机的单词时,我得到一个随机的字母。这意味着该列表由每个字母作为一个元素而不是每个单词作为一个元素组成。
我的代码 -
import random
inflie=open("F:\\SKKU\\study\\ISS3178 - Python\\11\\StatesANC.txt","r")
for line in inflie:
data1=line.split(",")
data2=data1[0]
print(random.choice(data2))
我期望一个随机的州名,但我得到的是来自其中一个州名的随机字母。
解决方案
您需要将结果附加到列表中,然后使用random
前任:
import random
data2 = []
inflie=open("F:\\SKKU\\study\\ISS3178 - Python\\11\\StatesANC.txt","r")
for line in inflie:
data1=line.split(",")
data2.append(data1[0]) #Append state
print(random.choice(data2))