Python 使用随机生成的数组作为输入值打印元组中的字符

Python 使用随机生成的数组作为输入值打印元组中的字符,python,numpy,Python,Numpy,我正在创建一个numpy.random.random_integers数组,它基于最低整数、最高整数的用户参数以及数组中要输出的整数数 然后,我想使用给定数组中的每个整数来打印元组中相应的值 例: 然而,当我进入下一步时,我对如何进行这样一个过程感到困惑。虽然这不是最优雅的解决方案,但我尝试了这个方法,但当我这样做时,会出现索引错误,并且随后认为这种方法行不通 for y in randIntArray: print(charTuple[randIntArray[y]) 有没有人有更好

我正在创建一个numpy.random.random_integers数组,它基于最低整数、最高整数的用户参数以及数组中要输出的整数数

然后,我想使用给定数组中的每个整数来打印元组中相应的值

例:

然而,当我进入下一步时,我对如何进行这样一个过程感到困惑。虽然这不是最优雅的解决方案,但我尝试了这个方法,但当我这样做时,会出现索引错误,并且随后认为这种方法行不通

for y in randIntArray:
    print(charTuple[randIntArray[y])
有没有人有更好的办法来完成这样一个过程

print [charTuple[i] for i in randIntArray] # new list according to new indices
一种称为列表理解的特殊且常用的索引方法

ps:我认为这一行应该是:

randIntArray = np.random.random_integers(0, len(charTuple) - 1, 12)

您的两个示例都很有效,但它们只适用于randIntArray中只有一个int的情况。对于所有其他情况,我遇到了一个TypeError:只有包含一个元素的整数数组才能转换为索引。是否有其他方法可以横穿randIntArray打印相应的元组值?@user3078611抱歉,请尝试后面的示例,如答案所示。前一个是错误的!非常感谢你!你帮了大忙!
randIntArray = np.random.random_integers(0, len(charTuple) - 1, 12)