前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python判断列表中是否有某个项

Python判断列表中是否有某个项

原创
作者头像
程序员小新
发布2021-12-29 15:45:34
2.2K0
发布2021-12-29 15:45:34
举报
文章被收录于专栏:python222python222

Python判断列表中是否有某个项,如果有将其移除,并输出移除后的列表长度和列表元素

直接上代码:

代码语言:javascript
复制
# 输入一个列表lt,判断val是否在lt中,如果在,将其删除,最后输出删除后的lt和lt的长度
 
def remove_element(lt, val):
    k = 0
    for i in range(len(lt)):
        if lt[i] != val:
            lt[k] = lt[i]
            k += 1
    return k
 
 
if __name__ == '__main__':
    lt = list(map(int, input().split(' ')))
    val = int(input())
    k = remove_element(lt, val)
    print(k)
    print(' '.join(map(str, lt[:k])))  # lt[:k],从0开始截取,截取k位

这个算法比较巧妙:遍历列表,把列表中的每一项与匹配项进行比较,如果不相等就把下标为i的列表的值赋值给下标为k的列表,因为初始时k=i=0,意思就是取出当前项再赋值给当前项,假设有列表[1,2,3],匹配项val是2,则循环第一次后1的位置不变,当i=1,k=1时,也就是列表元素为2时,lt[i]!=val为false,进入下一次循环,此时k=1,i=2,lt[2]!=val (备注:lt[2]=2)满足条件,则执行lt[k]=lt[i],3会覆盖2的位置,列表就变成了[1,3,3],循环完毕,返回k值,再使用字符串截取lt[:k],截取从0位置开始,截取长度为k的闭区间长度的字符串,所以为1,3

运行结果如下:

原文链接:https://blog.csdn.net/baidu_39105563/article/details/122203853

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python判断列表中是否有某个项,如果有将其移除,并输出移除后的列表长度和列表元素
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档