【发布时间】:2018-02-08 13:16:57
【问题描述】:
我在结果列表中遇到列表理解缺失值的问题。我有两个清单。当我尝试使用 for 循环时。值是我想要的(7 4 2 -1 0),但我不需要需要列表中的整数值。当使用列表理解时,我只得到 4 个值 [4, 2, -1, 0]。我不明白我的逻辑会发生什么。如果有谁帮我看看代码。
l1 = [3, 6, 9, 2, 11, 14, 13]
f = [7]
将 l1 最后一个元素减到 l1 第 n 个元素。 我正在尝试这个公式(请看代码更容易理解):
l2 = l1[-1]-l1[n]
然后,我尝试将 if else 条件放入如下:
if l2 <= f:
print(l3)
这是我在 for 循环中尝试的代码
In [230]: for l2 in l1:
...: l3 = l1[-1]-l2
...: #print(l3)
...: for f1 in f:
...: if l3<=f1:
...: print(l3)
...:
...:
7
4
2
-1
0
对于列表理解代码是:
for f1 in f:
f1
In [47]: l1 = [x[-1] - l for l in x if l >= int(f1)]
...:
In [48]: l1
Out[48]: [4, 2, -1, 0]
【问题讨论】:
-
请将代码格式化为代码。 /How to debug small programs。 / 请避免拼写错误。
-
@user202729 等待
-
您知道
l1[-1]始终是l1的最后一个元素吗? -
@Joe 是的,在我的情况下 l1[-1] = 13
标签: python python-3.x ipython list-comprehension