IndexError:字符串索引超出范围(我可以一次使用3个索引吗?)

时间:2013-11-17 21:21:54

标签: python indexing range out

我遇到以下错误的问题,我不明白为什么。

IndexError: string index out of range

以前我在for循环中使用它并且假设我是一个白痴,但我开始认为Python根本无法处理我所要求的。

这是错误指示的特定行:

print(location[5][1][0])

以下是它所引用的清单:

location = ec
ec = (5,3, "Trader Outpost", plain_mobs, store, trader_outpost)
trader_outpost  = [filler,sword,shield,amulet]
sword = ["Sword ", 0, 0, 0, 5, 0, 20, "Sword"]

我应该发生的事情是Python ......

  1. 使用location[5]列表trader_outpost
  2. 然后从trader_outpost获取索引1,这是列表sword
  3. 然后从sword获取索引0,这是字符串"sword"
  4. 根本不可能通过这样的列表吗?

    编辑:我发现了我的主要问题:我的一个变量没有通过正确的函数传递

    解决:我发现我的代码部分错了。我有location[2]作为函数的参数之一。这会将"Trader Outpost"传递给我遇到问题的那个而不是列表。

1 个答案:

答案 0 :(得分:1)

您的说明是否以正确的顺序?这对我来说很好:

filler, sword, shield, amulet = 'f', 's', 'h', 'a'
plain_mobs, store = 'pm', 'st'

sword   = ["Sword "  ,0  ,0  ,0  ,5  ,0 ,20     ,"Sword"]
trader_outpost  = [filler,sword,shield,amulet]
ec = (5,3,  "Trader Outpost"        ,plain_mobs      ,store         ,trader_outpost)
location = ec

print(location[5][1][0])
=> Sword

所以是的,如果索引可以访问遇到的每个元素,则可以同时拥有3个索引。