Python 3.x 项目拒绝被删除与弹出功能,切片,并删除,我该怎么办呢?

Python 3.x 项目拒绝被删除与弹出功能,切片,并删除,我该怎么办呢?,python-3.x,Python 3.x,所以我删除了我的索引列表中的空索引 [,,,'A','B','C',] 我曾经 list.pop[0] list.pop[1] list.pop[2] list.pop[3] list.pop[-1] list.pop[-2] 以移除空对象 但它不会删除前2项,并跳到list.pop[3]中的[A],在我不打算这样做时删除数据 出了什么问题,我该怎么解决?对不起,这是非Python代码 这是我使用的确切代码 import requests, re from bs4 import Beautif

所以我删除了我的索引列表中的空索引

[,,,'A','B','C',]

我曾经

list.pop[0]
list.pop[1]
list.pop[2]
list.pop[3]
list.pop[-1]
list.pop[-2]
以移除空对象

但它不会删除前2项,并跳到list.pop[3]中的[A],在我不打算这样做时删除数据

出了什么问题,我该怎么解决?对不起,这是非Python代码

这是我使用的确切代码

import requests, re
from bs4 import BeautifulSoup 

url='https://bn.mappersguild.com/'

headers={"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}

page = requests.get(url, headers=headers)

soup = BeautifulSoup(page.content, 'html.parser')

osurow = soup.find('td', string='osu')
osu = osurow.find_parent("table", {"class": "table table-sm table-dark table-hover col-6 col-md-3"})

osutext = osu.get_text() 
osu = osu.find_all('a')

osuname = osutext.split('\n')

osuname.remove('osu')

osuname.pop(0)
osuname.pop(1)
osuname.pop(2)
osuname.pop(3) #Here's the point where it deletes - Mo - 
osuname.pop(-1)
osuname.pop(-2)
osuname.pop(-3) #Here's the point where it deletes Zelq


print ('osu!standard profile listing')
for element in osu:
    print(element)

print(osuname)


让我们监视osuname的内容,同时从中弹出内容:

>>> osuname = ['','','','','A','B','C','','']
>>> osuname.pop(0); osuname
''
['', '', '', 'A', 'B', 'C', '', '']
>>> osuname.pop(1); osuname
''
['', '', 'A', 'B', 'C', '', '']
>>> osuname.pop(2); osuname
'A'
['', '', 'B', 'C', '', ''] # HOLD ON!
当你打开东西时,列表会缩小!因此,在指数2处发现的元素正在移动:

# Original list
['','','','','A','B','C','','']
       ^^ <- index 2

# List after pop(0); pop(1)
['', '', 'A', 'B', 'C', '', '']
         ^^^ <- index 2

这可能会帮助您从列表中删除空值:筛选列表似乎会删除所有内容并保留在原来的位置。更换后我真的不明白为什么!=with==似乎具有相同的结果,即使它们是不同的运算符。有别的方法吗?这就是为什么我用listfilter。。。而不仅仅是过滤器
>>> osuname = ['','','','','A','B','C','','']
>>> list(filter(lambda element: element != '', osuname))
['A', 'B', 'C']