接收" IndexError:列表索引超出范围"当使用计数

时间:2014-12-08 14:46:38

标签: python string list dictionary indexing

因此,我尝试使用标准计数循环使用一组规则,但它会返回错误:

IndexError: list index out of range

这是代码

    alphabetList = list(string.ascii_lowercase)
    alphabetList.extend(list(string.ascii_lowercase))
    alphabetDict = {}
    count = 0
    while count <= len(alphabetList):
        item1 = alphabetList[count]
        item2 = item1
        alphabetDict[item1] = item2
        count += 1

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

while count <= len(alphabetList):

你要走到列表末尾。将<=更改为<

while count < len(alphabetList):

或者,使用for代替while

import string

alphabetList = list(string.ascii_lowercase)
alphabetList.extend(list(string.ascii_lowercase))
alphabetDict = {}
for count in range(len(alphabetList)):
    item1 = alphabetList[count]
    item2 = item1
    alphabetDict[item1] = item2

或者,再次直接迭代字母而不使用count值。

import string

alphabetDict = {}
for item in string.ascii_lowercase:
    alphabetDict[item] = item

或者再一次,通过在其初始化器中将键和值压缩在一起来构造没有循环的dict。

import string
alphabetDict = dict(zip(string.ascii_lowercase, string.ascii_lowercase))