【问题标题】:How to print integers into list form如何将整数打印成列表形式
【发布时间】:2018-10-14 02:34:12
【问题描述】:

我对python有点陌生。我试图只打印可被 5 整除的列表中的整数。我已经完成了。但我希望输出是一个列表,而不仅仅是整数。

我的代码:

list = [2,4,5,10,12]
for x in list:
if not x % 5 == 0:
    print (x)

我希望输出看起来像: [2,4,12]

但是intsead看起来像:

2,

4,

12

是否有任何命令可以将“x”项打印到列表中?喜欢 print(list[x])?

【问题讨论】:

  • 我使用了 end 命令。我做了 print(x, end =", "), 这给了我:2, 4, 12,... 但我希望它在一个“列表”中
  • 做一个列表理解[x for x in lst if x%5] - 也不要隐藏诸如list之类的内置名称。列表推导会创建一个新列表,然后您可以以任何您认为合适的方式打印或使用该列表。
  • 我必须使用 for 和 if 语句来完成这项任务。如何使用 print 命令将列表打印为列表?

标签: python list printing int


【解决方案1】:

您需要在一个新列表中收集您的答案,然后打印该列表。为此,您可以创建一个空列表并使用.append() 方法将项目添加到该列表中。

my_list = [2,4,5,10,12]
answers = []
for x in my_list:
    if not x % 5 == 0:
        answers.append(x)
print(answers)

list comprehension 是另一种选择。列表推导式是一种强大的快捷方式,可以自动为您创建第二个列表。

对于这个问题,你可以使用:

my_list = [2,4,5,10,12]
answers = [x for x in my_list if x%5 != 0]
print(answers)

它以更少的行完成与for 循环相同的事情。在这种情况下,您可能必须使用 for 版本,但您可能希望将来使用理解。

【讨论】:

    【解决方案2】:

    这就是我实现这一目标的方式。希望对您有所帮助:

    list1 = [2,4,5,10,12]
    list2 = []
    for x in list1:
        if not x % 5 == 0:
            list2.append(x)
    print(list2)
    

    【讨论】:

      【解决方案3】:

      使用以下数字 [2,4,5,10,12] 的 OP 是“尝试仅打印可被 5 整除的列表中的整数。我希望输出看起来像:[2,4,12 ]"

      一般来说,“能被 5 整除的数”可以被 5 整除而没有余数。从给定的列表中,输出将是 [5,10]

      data = [2, 4, 5, 10, 12]
      
      # Print numbers evenly divisible by 5.
      print([i for i in data if i % 5 == 0])
      
      [5, 10]
      

      根据 OP 提供的输出,他正在寻找除以 5 后有余数的数字。

      data = [2, 4, 5, 10, 12]
      
      # Print numbers not evenly divisible by 5.
      print([i for i in data if i % 5])
      
      [2, 4, 12]
      

      【讨论】:

      • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      相关资源
      最近更新 更多