首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个函数genSet(),该函数接受一个数字列表,并返回python中的排序集

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

Stack Overflow用户
提问于 2017-04-28 06:39:13
回答 2查看 367关注 0票数 0

我对python很陌生,我试图在化脓性上解决这个例子,我需要编写一个函数,

( a)这需要一个数字列表

( b)从列表中删除重复项

( c)返回排序集:

在python中,例如:

代码语言:javascript
复制
>>> genSet([5,4,8,4,9,8])
[4, 5, 8, 9 ]
>>> genSet([3,-2,-1,-1,3,-2,0])
[-2, -1, 0, 3 ]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-28 06:46:25

移除重复的:

代码语言:javascript
复制
>>> 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]

对列表进行排序:

代码语言:javascript
复制
>>> sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]

现在您可以编写自定义函数,该函数删除重复项并进行排序。

下面的代码片段可以工作:

代码语言:javascript
复制
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])

如果要迭代多个列表,请尝试如下:

代码语言:javascript
复制
a = [
        [5,4,8,4,9,8],
        [3,-2,-1,-1,3,-2,0]
    ]

for aa in a:
    print genSet(aa)
票数 0
EN

Stack Overflow用户

发布于 2017-04-28 06:54:22

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

代码语言:javascript
复制
def genSet(l):
  return (sorted(set(l)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43673604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档