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,它是一个索引,是一个元组.请帮忙.
该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将包含在索引位置的值idx是myArray[idx]
| 归档时间: |
|
| 查看次数: |
4256 次 |
| 最近记录: |