我是Python新手,我想匹配两个不同数组的相同索引并将其发送到一个文件中,但在编译时遇到了问题。这是我的想法:
interfaces= ['g0/0','g0/1','g0/2']
nameif = ['inside','outside','dmz']
for i in interfaces:
for j in nameif:
if interfaces[i]==nameif[j]:
g.write ('\ninterface '+ i + j)
我希望在文件中看到:
interface g0/0 inside
interface g0/1 outside
interface g0/2 dmz
但当我这样运行它时,它会显示TypeError: list indices must be intergers or slice, not str
。你知道吗
有什么想法吗,我如何在Python上实现这一点?你知道吗
你的“i”循环迭代“interfaces”列表中的元素…然后你尝试使用这些元素作为索引,但你不能这样做。你知道吗
您可能想要的是一个数字循环,例如:
您不需要遍历所有索引,然后找到匹配的索引。如果您有一些索引
i
,您可以从每个列表中访问相应的项。你知道吗另外,正如其他人所指出的,您得到这个错误是因为您试图使用
i
和j
作为索引,而它们实际上是您正在迭代的列表的元素,因此是字符串类型。你知道吗你不可能需要两个循环。试试
zip
。你知道吗作为提示,您应该了解
for
如何更好地工作。例如for
循环在迭代器上迭代,而不是索引。如果您想迭代这两种方法,可以使用enumerate
:相关问题 更多 >
编程相关推荐