如何删除在Python列表中创建的空值?

2024-06-16 15:21:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想删除在Python列表中创建的空值

我的代码在这里-https://pastebin.com/whz7t4yR

我试图从Codeforces解决“字符串任务”问题 每次找到一封信,我都会在列表中的那封信后面加一个点。但在插入点之后会创建一个空值

我试图删除空值。但显然,它只适用于特定的测试用例(“Codeforces”)。对于其他两个测试用例,它显示

"IndexError: list index out of range"

for l in range(0,len(s)):    
    if(s[l] in letter and s[l+1] in letter):
        s.insert(l+1, '.')
        print("inside IF, index[",l,"]=>", s[l])
    elif(s[l] in letter):
        s.insert(l+1,'.')
        #del (s[l+2])
        print("inside ELIF, index[",l,"]=>", s[l])
    else:
        print("inside ELSE, index[",l,"]=>", s[l])
        continue

预期结果:

 .c.d.f.r.c.s

实际结果:

 .c.d.f.r.cs

Tags: 代码inhttpscom列表index测试用例range
2条回答

试试这个。完整的解决方案

st = input()
vowels = ['a','e','i','o','u','y']
for i in st.lower():
    if i not in vowels:
        print(f'.{i}', end='')
for l in range(0,len(s)):
    if(...s[l+1]...)

在前两行中,l+1肯定会超出列表的范围s

如果您需要像这样访问下一个元素,请将范围改为for l in range(0,len(s)-1):,这样您就知道您将始终有一个s[l+1]元素

相关问题 更多 >