例如,我有:
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()
不起作用。
答案 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]