我对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 ]发布于 2017-04-28 06:46:25
移除重复的:
>>> 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)发布于 2017-04-28 06:54:22
set将自动删除重复项,sorted将对列表进行排序。
def genSet(l):
return (sorted(set(l)))https://stackoverflow.com/questions/43673604
复制相似问题