gpt4 book ai didi

python - 使用两个列表创建不同的句子

转载 作者:行者123 更新时间:2023-11-28 21:43:38 26 4
gpt4 key购买 nike

所以我有两个列表。假设一个列表包含美国每个州的首府,另一个列表包含州。显然,这两个列表的排序方式是 list1 中的第一个元素(大写字母)对应于 list2 的第一个元素(states)。

当只使用一个列表时,好像我只需要改变一句话中的一件事,我目前使用以下代码:

list = map(str.strip, list(open('list.txt', 'r')))
questions = ['What is the capital of the state %s' %(element) for element in list]

with open('questions.txt', 'w') as fd:
fd.write("\n".join(questions))

所以在这个例子中,我只使用一个包含美国各州的列表 (list.txt),通过运行代码,它会生成一个 .txt 文件 (questions.txt),其中有很多行内容如下:

What is the capital of the state California?

无论 list.txt 有什么状态。

现在,回到我的问题。如前所述,有时我需要在一个句子(或任何我正在做的事情)中使用两个列表,例如:

(first element of list1) is the capital of the US state (first element from list2)
(second element of list1) is the capital of the US state (second element from list2)
(third element of list1) is the capital of the US state (thirdelement from list2)

等等……

但我不确定如何修改上面的代码以包含两个列表而不是一个列表。

提前致谢。

编辑: list 1 示例:

Sacramento
Austin
Phoenix

列表 2 示例:

California
Texas
Arizona

最佳答案

您可以使用 zip 迭代一对列表:

capitals = tuple(map(str.rstrip, open('capitals.txt')))
states = tuple(map(str.rstrip, open('states.txt')))
answers = ['The capital of {} is {}'.format(state, capital)
for state, capital in zip(states, capitals)]

我对您的代码进行了一些简化,并切换到更新的、推荐的字符串格式设置方式。我还用 tuple 包装了 map,因为在 Python 3 中 map 返回一个可迭代对象而不是一个列表。

关于python - 使用两个列表创建不同的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41916998/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com