Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 创建一个函数genSet(),该函数接受一个数字列表并返回python中的排序集_Python 2.7_Python 3.x - Fatal编程技术网

Python 2.7 创建一个函数genSet(),该函数接受一个数字列表并返回python中的排序集

Python 2.7 创建一个函数genSet(),该函数接受一个数字列表并返回python中的排序集,python-2.7,python-3.x,Python 2.7,Python 3.x,我是python新手,尝试在上解决此示例 我需要写一个函数 a) 这需要一个数字列表 b) 从列表中删除重复项 c) 返回排序集: 在python中,例如: >>> genSet([5,4,8,4,9,8]) [4, 5, 8, 9 ] >>> genSet([3,-2,-1,-1,3,-2,0]) [-2, -1, 0, 3 ] 删除重复项: >>> t = [1, 2, 3, 1, 2, 5, 6, 7, 8] >>>

我是python新手,尝试在上解决此示例 我需要写一个函数

a) 这需要一个数字列表

b) 从列表中删除重复项

c) 返回排序集:

在python中,例如:

>>> genSet([5,4,8,4,9,8])
[4, 5, 8, 9 ]
>>> genSet([3,-2,-1,-1,3,-2,0])
[-2, -1, 0, 3 ]
删除重复项:

>>> t = [1, 2, 3, 1, 2, 5, 6, 7, 8]
>>> t
[1, 2, 3, 1, 2, 5, 6, 7, 8]
>>> list(set(t))
[1, 2, 3, 5, 6, 7, 8]
>>> s = [1, 2, 3]
>>> list(set(t) - set(s))
[8, 5, 6, 7]
对列表进行排序:

>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]
现在您可以编写自定义函数,用于删除重复项和排序

以下代码段有效:

def genSet(clist):
    t = list(set(clist))
    return sorted(t)

if __name__ == "__main__":
    print genSet([5,4,8,4,9,8])
    print genSet([3,-2,-1,-1,3,-2,0])
如果要迭代多个列表,请尝试以下操作:

a = [
        [5,4,8,4,9,8],
        [3,-2,-1,-1,3,-2,0]
    ]

for aa in a:
    print genSet(aa)

set
将自动删除重复项,
sorted
将对列表进行排序

def genSet(l):
  return (sorted(set(l)))

可能的副本谢谢您的解决方案。它起作用了。。然而,我想尝试使用for循环:(如果有效,请投票给我的答案:)。请告诉我更多关于使用for循环的信息,我会尽力帮助你我想的是a)使用for循环迭代列表b)使用if-else比较值,c)将其分配给新列表。对于迭代多个列表的循环?如果你想迭代:a=[[5,4,8,4,9,8],[3,-2,-1,-3,-2,0]]对于a中的aa:打印发电机组(aa)