Python TypeError:只能将tuple(而不是“int”)连接到tup

2024-05-15 07:49:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过命令行提供了两个值(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]

我得到以下错误:

^{pr2}$

我不明白为什么起始点是一个索引,是一个元组。请帮忙。在


Tags: 代码命令行coreindexis数组startpoint
3条回答

^{}将返回一个(index, value)元组。在

可以将索引值访问为

idx[0]

示例

^{pr2}$

for (idx, value) in enumerate(myArray):    
           mon_voltage = myArray[idx + start_point][0]
           core_voltage = myArray[idx + start_point][1]

这里,元组被解压为idx和{},我们使用idx来跟踪for循环中可能发生的逻辑。在

value将包含索引位置idx的值,即myArray[idx]

idx是元组,而{}不是

内置函数^{}返回一个迭代器,该迭代器的next将返回包含从序列中获得的计数和值的元组

在您的例子中,返回以下元组

In [5]: list(enumerate(myArray))
Out[5]:
[(0, [1.02, 1.13]),
 (1, [1.02, 1.16]),
 (2, [1.02, 1.18]),
 (3, [1.02, 1.21]),
 (4, [1.02, 1.265])]

tupleidx,不是{}。这条线:

for idx in enumerate(myArray):

idx分配一个元组对象。enumerate函数生成以下形式的元组:

^{pr2}$

你可能想做的只是:

for idx, value in enumerate(myArray):

忽略value部分。在

相关问题 更多 >