Python 猜报价游戏
我计划根据我今年和朋友们收集的报价单制作一个游戏。收集的列表的格式为“quote-person” 如果我将所有引号添加到一个数组中,有人能帮我从此人处拆分引号吗 quotes=[“quote1-person1”、“quote2-person2”、“quote3-person3”] 我是否可以拆分并附加引号和人员以分离数组,这样当我运行程序时,有人看到引号后进行猜测,我需要做的就是比较数组中的位置,并检查它们是否与输入的人员匹配Python 猜报价游戏,python,Python,我计划根据我今年和朋友们收集的报价单制作一个游戏。收集的列表的格式为“quote-person” 如果我将所有引号添加到一个数组中,有人能帮我从此人处拆分引号吗 quotes=[“quote1-person1”、“quote2-person2”、“quote3-person3”] 我是否可以拆分并附加引号和人员以分离数组,这样当我运行程序时,有人看到引号后进行猜测,我需要做的就是比较数组中的位置,并检查它们是否与输入的人员匹配 如果您需要我进一步解释,请给我留言,我知道这可能是一个错误的解释最好
如果您需要我进一步解释,请给我留言,我知道这可能是一个错误的解释最好将信息存储在字典中,这是一个键值对列表。在这种情况下,键将是引用和值,这些引用和值将归属于谁。您可以通过执行以下操作来构建此功能:
split_quotes = (quote.split(' - ' , 1) for quote in quotes)
quote_dict = {q[0] :q[1] for q in split_quotes }
编辑:正如Serge Ballesta所指出的,如果两个人有相同的报价,则这不起作用。您可以按照建议维护配对列表:
quote_person_list = [(q[0], q[1]) for q in split_quotes]
或者使用defaultdict
from collections import defaultdict
quote_dict = defaultdict(list)
for q in split_quotes:
q[0] = quote
q[1] = person
quote_dict[quote].append(person)
并检查此列表中的成员身份。Nice,但如果两个人有相同的报价,则第二个人将覆盖第一个人。。。成对列表更能容忍这种情况。因此,如果它是字典格式,则id需要做的所有工作都是检查附加到引号的人是否运行q[quote],然后输出引号所属的人to@SergeBallesta说得好。我应该留下这个冒犯性的错误还是重新编辑它?@你可以留下最初的口述,因为你已经添加了一个配对列表并解释了原因。根据实际使用情况,两者都可能是最合适的。