python生成定义长度的随机列表

时间:2013-03-11 15:25:07

标签: python

我正在尝试编写一个程序,该程序生成从1-5开始的十个随机整数的列表,然后每次重复每个整数时打印该数字。然后打印第二个列表,删除重复项。现在我有一个问题,甚至得到第一个生成的列表。我一直得到TypeError:'int'对象不可迭代

这是我到目前为止所做的:

def randomTen():
    """return list of ten integers and the number of times each one
    appears"""
    firstList= []
    for num in range(1,11):
        x= int(random.randint(1,6))
        list1= firstList.append(x)
    print(list1)

3 个答案:

答案 0 :(得分:4)

首先请注意,使用列表解析可以更轻松地完成此操作:

firstList = [random.randint(1,6) for num in range(1, 11)]

至于你的功能,你需要这样做:

firstList= []
for num in range(1,11):
    x= int(random.randint(1,6))
    firstList.append(x)
print(firstList)

append不返回任何内容,它会更改列表。

答案 1 :(得分:1)

def randomTen():
    """return list of ten integers and the number of times each one
    appears"""
    firstList= []
    for num in range(1,11):
        x= int(random.randint(1,6))
        firstList.append(x)
    return firstList

您创建一个空列表firstList,向其追加元素,然后将其返回。

答案 2 :(得分:0)

1)x是整数,而不是列表。所以只需使用

list1 = firstList.append(x)

2)如果你想删除重复项,你可能只想将列表转换为一组:

print(set(list1))