【问题标题】:How do I save my print statement in a list? Python [closed]如何将我的打印语句保存在列表中? Python [关闭]
【发布时间】:2023-04-08 03:05:01
【问题描述】:

如何将我的打印语句保存在列表中?

for i in range(len(values)):
    for j in range(len(values)):
        print (values[0]+values[i])+values[j]

【问题讨论】:

  • 为什么不直接将值添加到列表中?
  • 我想这就是他的要求。

标签: python list for-loop printing


【解决方案1】:

如果您想向列表添加值,请不要使用 print。只需直接将它们添加到列表中:

result = []
for i in range(len(values)):
    for j in range(len(values)):
        result.append(values[0] + values[i] + values[j])

你可以在这里循环values直接

result = []
for i in values:
    for j in values:
        result.append(values[0] + i + j)

可以组合成一个列表理解:

result = [values[0] + i + j for i in values for j in values]

【讨论】:

  • 鉴于加法是左关联的,是否有理由将括号保留在 values[0] + i 周围?
  • @NPE:真的没有,没有。我保留它们只是为了让 OP 得到认可。我现在已经删除了它们。
  • 我可以对钥匙做同样的事情吗? :-)
  • @Babe:这里的 keys 是什么意思?您在values 中似乎有一个序列(字符串、列表或元组或类似的),而不是字典。
【解决方案2】:

您可以使用变量来存储结果,

result = []
for i in range(len(values)):
    for j in range(len(values)):
        res = (values[0]+values[i])+values[j]
        print res
        result.append(res)

或执行以下操作以稍微优化上面的代码:

result = []
for i in range(len(values)):
    for j in range(len(values)):
        result.append((values[0]+values[i])+values[j])
        print result[-1]

更好的是,您可以使用列表推导来简化此操作并创建结尾result

result = [values[0] + i + j for i in values for j in values]

您当然可以稍后使用简单的方法打印这些内容

for res in result:
    print res

【讨论】:

    【解决方案3】:

    您可以使用列表推导:

    results = [values[0] + val_i + val_j for val_i in values for val_j in values]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      相关资源
      最近更新 更多