我正在尝试创建一个返回特定长度列表并重复其中一个值的函数

时间:2014-01-22 15:59:26

标签: python list

我想要得到的,应该是这样的:

myList = makeList ('r', 6)

['r', 'r', 'r', 'r', 'r', 'r']

第一个值是应该返回的值,第二个值是应该返回的次数。

我尝试的是:

def myList():
    a = raw_input("Enter a value: ")
    b = raw_input("How many %s's would you like to see?: " % a)
    b = a.count(a)

    if b.isdigit():  
        return a * int(b) 

3 个答案:

答案 0 :(得分:3)

字符串是Python中的不可变对象。因此,使用*运算符创建相同字符串的多个实例更安全,就像这样

def makeList(char, count):
    return [char] * count

print makeList("r", 6)    # ['r', 'r', 'r', 'r', 'r', 'r']
print makeList("rr", 6)   # ['rr', 'rr', 'rr', 'rr', 'rr', 'rr']

答案 1 :(得分:0)

使用*复制列表:

>>> ['r'] * 6
['r', 'r', 'r', 'r', 'r', 'r']

或字符串:

>>> 'r' * 6
'rrrrrr'
>>> list('r' * 6)
['r', 'r', 'r', 'r', 'r', 'r']

答案 2 :(得分:0)

将其设为列表,然后指定次数:

def makeList(char,count):
    return [char]*count

print makeList("r",6)