【问题标题】:How would I complete this using a loop?我将如何使用循环完成此操作?
【发布时间】:2017-04-25 12:48:03
【问题描述】:

假设我有一个包含 24 个元素的 Python 列表。我使用列表中的每个元素在一个句子中使用,例如:(对于这个例子,列表包含数字,但在实际情况下它包含名称、地点等

s = [Steve, 25, Bill, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24]

如果我需要使用列表中的元素 1-8 为每个句子写 3 个句子,如下所示:

第 1 句:

It is s[1] degrees outside, my name is s[2]. My friend is s[0].

句子将继续使用元素 1-8,我仅使用 3 作为示例。我需要写三个这样的句子并且需要使用循环,因为可能需要写任意数量的句子。

每个句子的元素位于相同的位置,因此在下一个句子中将是:

It is s[8] degrees outside, my name is s[9]. My friend is [7].

有没有办法用循环来完成这个?我希望你们能理解我的问题。循环出现索引超出范围错误,因为我运行了 N 次(在本例中为 3)

【问题讨论】:

  • 欢迎来到Stack Overflow!请查看How to Ask 并发布导致索引超出范围错误的代码!
  • 这是我今天看到的最好的问题。

标签: python list loops


【解决方案1】:
sentence = "It is {s[1]} degrees outside, my name is {s[2]}. My friend is {s[0]}."
s = ['Steve', 25, 'Bill', 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24]
for g in zip(*[iter(s)]*3):
    print sentence.format(s=g)

也许……至少

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 2020-02-13
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多