我收到一个 python 错误 IndexError: Replacement index 2 out of range forpositional args tuple

问题描述 投票:0回答:2
veriler = list()
yazarlar = list()
kitaplar = list()
sayfalar = list()
with open('veriler.csv') as file:
     for i in file.readlines():
        veriler.append(i[:-1])
for i in veriler:
    line = i.split(',')
    yazarlar.append(line[0])
    kitaplar.append((line[1]))
    sayfalar.append((line[2]))
metin = "{:<20} {:<20} {:<4}"
    for i in range(len(yazarlar)):
        print(metin.format(yazarlar[i], kitaplar[i]), sayfalar[i])

IndexError:替换索引 2 超出位置参数元组的范围

python index-error
2个回答
0
投票

最后一行的括号位置错误。您需要将

sayfarlar[i]
与其他两个值一起传递给
metin.format
,因为您的格式字符串具有三组需要替换的大括号。这就是异常消息所说的内容,第三组括号(索引 2,因为我们从零开始计数)在位置参数中没有相应的项目。

尝试改变:

print(metin.format(yazarlar[i], kitaplar[i]), sayfalar[i])

对此:

print(metin.format(yazarlar[i], kitaplar[i], sayfalar[i]))

0
投票

看你的打印报表, 正确的说法是:

print(metin.format(yazarlar[i], kitaplar[i], sayfalar[i]))

© www.soinside.com 2019 - 2024. All rights reserved.