如何将random.choice转化为整数进行实验?

How to convert random.choice into integer for experiment?

我正在使用 Python 设计一个心理物理学实验,其中我有听觉刺激(音节)、文本刺激(对)和正确答案都存储在一个 csv 文件中。

我正在努力做到不连续呈现相同的文本刺激(例如,听觉刺激是 1、2、3、4,文本刺激是你听到“1”还是“2”所以我尽量避免连续两次呈现后一种刺激。

我创建了以下代码:

Parameters_file = pd.read_csv('Parameters.csv', header=0)
Pair_list = Parameters_file['Pair']
syllable_list = Parameters_file['Stimulus']
corr_Ans_list = Parameters_file['corrAns']

past_syllable = [0] #To provide an initial auditory stimulus.

for i in range(len(syllable_list)):
     list_1 = [2,3,4,5]
     list_2 = [0,1,4,5]
     list_4 = [0,1,2,3]
     if past_syllable[-1] == 0:
          trial_index = randint(2,5,1)
     elif past_syllable[-1] == 1:
          trial_index = random.choice('list_1')
     elif past_syllable[-1] == 2:
          trial_index = random.choice('list_2')
     elif past_syllable[-1] == 3:
          trial_index = random.choice('list_2')
     else:
          trial_index = random.choice('list_3')
     past_syllable += str(trial_index)

  index = int(trial_index)
  Pair = Pair_list[index]
  corrAns = corr_Ans_list[index]

但是,我不断收到以下错误:

invalid literal for int() with base 10: 't'

有人可以帮忙吗?谢谢!

random.choice('list_2')

去掉引号,因为上面只是一个字符串,返回"t"是因为它选择了"list_2"中的第4个元素,即t.