Python 确定列表是否使用谓词过滤器进行排序

时间:2021-07-14 19:31:55

标签: python list filter predicate

所以我想导入和复制一个列表。然后从索引 [1:]

开始使用 list2 从左到右读取两个列表

从那里开始,每次迭代都会比较两个列表,以确定 list2 是否大于 list1。

此外,我知道这可能是最有效的方法,但分配要求它是谓词过滤器。

这是我目前所拥有的。

def main():
    fileName = input("Enter file name: ")
    dataSet1 = open(fileName, 'r')
    dataSet2 = dataSet1.copy()
    isSorted(dataSet1, dataSet2)


def isSorted(i, j): return i <= j
for i, j in range():
    list(filter(isSorted(i, j)))

它应该做什么:

如果 List2 中的所有迭代都大于 List1,则应返回 True,否则返回 False。

我遇到的错误: 在模块中 对于 i, j, 在 range() 中: 范围预期至少有 1 个参数,得到 0

当然,我已经尝试向 range() 添加参数,并观察我的语法错误成倍增加。

1 个答案:

答案 0 :(得分:0)

range 显然需要一个输入(至少一个),你应该理解 range 的含义,它生成从 startstop 的数字,带有 {{ 1}}-选择的大小。不输入必要的输入是错误的,即使这意味着您的错误“较少”。

所以 - 修复这个错误,然后继续下一个错误并修复它。
(特别是 - step 可能会出错,因为比较这两个没有意义,而且可能还有其他一些问题......)。

相关问题