这是我的代码:

def lotteryNumbers(m,n):
    newList = []
    uniqueList = []
    n=n+1
    for i in range(1, n):
        if i <= n:
            randomness = int(random.randint(1,m))
            newList.append(int(randomness))
    for number in newList:
        if number not in newList:
         uniqueList.append(number)
    sortNewList = uniqueList.sort()
    print(newList)
    print(uniqueList)
    return uniqueList


但在uniqueList中没有显示任何内容,并添加了第二个for循环。取出后,我得到了newList的列表,但数字并没有区别。我正在尝试不使用set和更多if项不在newList中,然后追加到uniqueList并返回具有唯一编号的排序(升序)列表的情况。

最佳答案

因为pellucidcoder提供了有效的解决方案,所以只是为了解决OP的其他一些问题

uniqList中没有任何显示,因为第二个for循环:


循环遍历newList中的所有项目
询问项目是否不在newList中


第2部分永远不会成立,因为该项目来自newList,因此uniqList返回为空。如果您将订单更改为:

关于python - 试图使排序列表只有唯一的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46627381/

10-12 18:21