我对python有点陌生。我尝试仅打印可被 5 整除的列表中的整数。我已经做到了。但我希望输出是一个列表,而不仅仅是整数。
我的代码:
list = [2,4,5,10,12]
for x in list:
if not x % 5 == 0:
print (x)
我希望输出看起来像: [2,4,12]
但它看起来像:
阿拉伯数字
4、
12
是否有任何命令可以将"x"项打印到列表中?喜欢打印(列表[x](?
您需要在新列表中收集答案,然后打印该列表。为此,可以创建一个空列表,然后使用.append()
方法将项目添加到该列表中。
my_list = [2,4,5,10,12]
answers = []
for x in my_list:
if not x % 5 == 0:
answers.append(x)
print(answers)
列表理解是另一种选择。列表推导是一个强大的快捷方式,可自动为您创建第二个列表。
对于此问题,您可以使用:
my_list = [2,4,5,10,12]
answers = [x for x in my_list if x%5 != 0]
print(answers)
它以更少的行完成与for
循环相同的事情。在这种情况下,您可能必须使用for
版本,但将来可能需要使用理解。
这就是我实现这一点的方式。我希望它有帮助:
list1 = [2,4,5,10,12]
list2 = []
for x in list1:
if not x % 5 == 0:
list2.append(x)
print(list2)
OP 使用以下数字 [2,4,5,10,12] 是"尝试仅打印可被 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]