Python 将字符串(从随机行)拆分为两个变量
我试图将随机给定的字符串拆分为两个变量。尝试使用“.split”,但我无法使其工作。如果可能的话,给我一个最简单但有效的方法是非常感谢的,因为我还是python的新手。这就是我目前正在处理的Python 将字符串(从随机行)拆分为两个变量,python,Python,我试图将随机给定的字符串拆分为两个变量。尝试使用“.split”,但我无法使其工作。如果可能的话,给我一个最简单但有效的方法是非常感谢的,因为我还是python的新手。这就是我目前正在处理的 file = open("CapitalCities.txt","r") file_contents = file.read() import random def generateQuiz(): with open ("CapitalCities.txt") as f: line
file = open("CapitalCities.txt","r")
file_contents = file.read()
import random
def generateQuiz():
with open ("CapitalCities.txt") as f:
lines = f.readlines()
print(random.choice(lines))
generateQuiz()
…这是我正在使用的文本文件的一些内容:
(编辑:忘记提及。拆分必须用“-”触发。我不知道如何在拆分后删除“-”)如果您的每一行的格式都是
'string1-string2'
,那么您应该使用.split('-')
显然,您需要根据您的最终目标对其进行调整,但现在它向您展示了如何构建子列表,这些子列表表示由
-
分隔的每个字符串对,并允许您随机选择一个子列表,并将其存储在变量x
和y
中
import random
def generateQuiz():
with open("CapitalCities.txt") as f:
# create a list of sublists; [['Albania', 'Tirana'], ['Andorra', 'Andorra la Vella'], ...,]
# strip() removes '\n', split('-') returns the sublists
pairs = [line.strip().split('-') for line in f]
# pick a random sublist
# the '=' will try to unpack the two into x and y
x, y = random.choice(pairs)
print(x, y)
generateQuiz()
也许,这将有助于:
import random
def generateQuiz():
with open ("CapitalCities.txt") as f:
lines = f.readlines()
words = random.choice(lines).split('-')
state = words[0]
capital = words[1]
print(state, capital)
generateQuiz()
尝试
.split('-')
时发生了什么?前两行file=open()的用途是什么;file\u contents=file.read()
?你再也不用它们了。您是否试图将say阿尔巴尼亚地拉那
分成两个变量x=albana;y=地拉那
?这里的问题和预期输出是什么?@DanielH It给了我“AttributeError”。我相信是我写的方式给了我灵感error@pstatix移除它们。没有想到他们没有目的,是的,他们就这样分开了
import random
def generateQuiz():
with open("CapitalCities.txt") as f:
# create a list of sublists; [['Albania', 'Tirana'], ['Andorra', 'Andorra la Vella'], ...,]
# strip() removes '\n', split('-') returns the sublists
pairs = [line.strip().split('-') for line in f]
# pick a random sublist
# the '=' will try to unpack the two into x and y
x, y = random.choice(pairs)
print(x, y)
generateQuiz()
import random
def generateQuiz():
with open ("CapitalCities.txt") as f:
lines = f.readlines()
words = random.choice(lines).split('-')
state = words[0]
capital = words[1]
print(state, capital)
generateQuiz()