Python TypeError:只能将元组(不是"int")连接到元组

use*_*150 0 python python-2.7 python-3.x

我通过命令行提供两个值(mon_voltage和core_voltage),我需要从迭代或循环开始的二维数组中搜索"起始点".

这是我的代码:

myArray =  [[1.02,1.13],[1.02,1.16],[1.02,1.18],[1.02,1.21],[1.02,1.265]]

start_point = myArray.index([mon_voltage, core_voltage])
print "Start point is", start_point

for idx in enumerate(myArray):

     mon_voltage = myArray[idx + start_point][0]
     core_voltage = myArray[idx + start_point][1]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

  TypeError: can only concatenate tuple (not "int") to tuple
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么start_point,它是一个索引,是一个元组.请帮忙.

nu1*_*73R 6

enumerate()会返回一个(index, value)元组.

您可以将索引值作为

idx[0]
Run Code Online (Sandbox Code Playgroud)

for idx in enumerate(myArray):    
       mon_voltage = myArray[idx[0] + start_point][0]
       core_voltage = myArray[idx[0] + start_point][1]
Run Code Online (Sandbox Code Playgroud)

要么

for (idx, value) in enumerate(myArray):    
           mon_voltage = myArray[idx + start_point][0]
           core_voltage = myArray[idx + start_point][1]
Run Code Online (Sandbox Code Playgroud)

这里将元组解压缩到idx并且value我们使用idxfor for循环中可能出现的逻辑.

value将包含在索引位置的值idxmyArray[idx]