为变量赋值后,如何打印具有一定值的变量?

时间:2014-07-17 17:59:41

标签: python list

例如,我有:

A = 0.13
B = 0.32
C = 0.56
D = 0.72
E = 0.91

我只想将值大于0.35的变量附加到某个列表(比如LIST = [])。结果将是:

LIST = [C, D, E]

我从哪里开始?导入以完成工作需要哪些功能。

............................................... .......................................

我希望程序打印变量(A,B,C,...),而不是值(0.13,0.32,...) 到目前为止我收到的回复都是印刷价值。

到目前为止,我已尝试过dict方法:

dict = {"A":0.13, "B":0.32, "C":0.56, "D":0.72, "E":0.91}

但我不知道如何为dict.values()

设置条件

例如

for dict.values() > 0.35:
    print dict.keys()

不起作用。

5 个答案:

答案 0 :(得分:1)

首先,不要将它们放在单独的变量中。把它们放在一个清单中。

nums = [0.13, 0.32, 0.56, 0.72, 0.91]

这样,您不仅限于五个数字,而且您不必为每个数字提供变量名称。此外,您可以轻松地迭代它们并以相同的方式处理每个。

如果您已经为其他目的定义了五个变量,那么只需列出它们:

nums = [A, B, C, D, E]

无论哪种方式,您都可以创建另一个只包含所需数字的列表:

highnums = [n for n in nums if n > 0.35]

答案 1 :(得分:0)

您最初可以将所有变量放在数组中,

numbers = [.13, .32, .56, .72, .91]

然后使用列表comphrension来消除您不想要的

reduced_numbers = [x for x in numbers if x > .35]

然后打印结果

print reduced_numbers

答案 2 :(得分:0)

你设置它的方式,你必须比较每个项目,如果它超过你的阈值(0.35),你会把它附加到一个数组。

例如:

A = 0.13
B = 0.32
C = 0.56
D = 0.72
E = 0.91
threshold = 0.35
list = []

if (A > threshold):
  list.append(A)
if (B > threshold):
  list.append(B)
if (C > threshold):
  list.append(C)
if (D > threshold):
  list.append(D)
if (E > threshold):
  list.append(E)

我是否可以建议将数字存储在数组中,然后通过它迭代并使用相同的逻辑将其添加到列表中?

答案 3 :(得分:0)

>>> numbers = [.13, .32, .56, .72, .91]
>>> filter(lambda i: i > 0.35, numbers)
[0.56, 0.72, 0.91]

答案 4 :(得分:0)

您可以使用list comprehension来实现目标。 首先,您需要以某种可迭代的方式启动数据。 让我们使用一个元组:

my_data = (0.13, 0.32, 0.56, 0.72, 0.91)

然后使用列表推导来构建列表:

my_list = [x for x in my_data if x > 0.35]