Python TypeError:列表索引必须是整数或片,未设置

Python TypeError:列表索引必须是整数或片,未设置,python,Python,我对python编码相当陌生,请原谅我的无知。 我正在做一个web刮板作为测试项目,但我有一个问题,其中一部分我试图做一个整数变量 scents=example_soup.findAll(“p”,{“class”:“short desc”}) ep=len(剧集) 打印(ep) 对于插曲中的p: title=剧集[{ep}].text.strip()####您正试图用[{ep}]为剧集列表编制索引,但它必须是一个数字。 您可能想[ep] LIST = [1, 2, 3, 4] print(LIS

我对python编码相当陌生,请原谅我的无知。 我正在做一个web刮板作为测试项目,但我有一个问题,其中一部分我试图做一个整数变量

scents=example_soup.findAll(“p”,{“class”:“short desc”})
ep=len(剧集)
打印(ep)
对于插曲中的p:

title=剧集[{ep}].text.strip()####您正试图用
[{ep}]
剧集
列表编制索引,但它必须是一个数字。 您可能想
[ep]

LIST = [1, 2, 3, 4]
print(LIST[0]) # result = 1
print(LIST[{0}]) # TypeError: list indices must be integers or slices, not set

如果你的剧集是对象列表,你可以这样做

for p in episodes:
    title = p.text.strip()
当您在列表中循环时,得到的是元素,而不是索引

{p}
将p作为唯一项创建集合。 你可以从

中阅读集合的基础知识,我最后做了这个

while time.time() < t_end:
    # do whatever you do
    eplist -=1
    title = episodes[eplist]

    time.sleep(1)
    eps = title.text.strip()

    print("Episode:" + " " + eps)``` 
while time.time()
我尝试使用您建议的方法执行[ep],但它给了我一个索引器:列表索引超出范围。这无法工作:a)
[{ep}]
-您使用单个值集(
{}
创建一个集)作为索引;B) 更改为
[ep]
将不起作用,因为
ep=len(剧集)
,即它比最大索引大1。我猜你想要什么,就像@ex4建议的那样。