关于python代码的一些解释

时间:2018-03-05 20:43:11

标签: python

我正在学习Python 3.最近我开始使用HackerHank,在那里我找到了一个我没有完成的某个挑战的解决方案。但是,我不理解一些代码行。

这是代码:

import statistics;
n = int(input())
x = list(map(int, input().split()))
x = sorted(x);
median = statistics.median(x)
L = (i for i in x if i < median)
U = (i for i in x if i > median)

这两行令我感到困惑:

L = (i for i in x if i < median)
U = (i for i in x if i > median)

1 个答案:

答案 0 :(得分:0)

L = (i for i in x if i < median)
U = (i for i in x if i > median)

是用于检查列表i的元素x是低于还是高于中值的代码

for i in x解析列表,if i < median L(较低值)设置为i或resp if i > median U(上层) value)设置为i

另见Generator Expressions vs. List Comprehension