替换列表中的值

时间:2014-03-01 01:43:13

标签: python

基本上,我正在尝试创建一个程序,它将使用1到6之间的随机整数替换diceList的值,无论我的indexList中有1。这就是我到目前为止所做的:

import random
def replaceValues(diceList, indexList):
    newList = diceList
    for i in indexList:
        if indexList == 1:
            newList[i] = random.randint(1,6)
        return newList

我正在执行replaceValues([1,2,3,4,5], [0,1,0,1,0])我应该得到的是[1,x,3,x,5],其中x应该是1到6之间的随机数。问题是它现在返回[1,2,3,4, 5]

1 个答案:

答案 0 :(得分:2)

indexListlist吗?如果是这样,list == 1是什么意思?

if indexList == 1:
    newList[i] = random.randint(1,6)

你的意思是i == 1吗?

编辑:

我认为你正在寻找这样的东西:

def replaceValues(diceList, indexList):
    newList = diceList
    if len(diceList) == len(indexList):
        for pos in range(0, len(indexList)):
            if indexList[pos] == 1:
                newList[pos] = random.randint(0,6)
        return newList