IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 练习:移除元素 -> 正文阅读

[数据结构与算法]练习:移除元素



移除元素


?? CSDN“每日一练”( python )题目。

  1. 题目
  2. 代码运行效果
  3. 完整代码

练习题目


在这里插入图片描述


回首页


实现 Python 代码:

def remove_elements(nums, val):
    '''移除给定数组中的所有给定值'''
    ls = len(nums) #数组长度。
    if ls == 0: #数组为空,返回0。
        return 0, 0
    count , index = 0, 0 #记数器和下标初始化。
    while index < ls - count: #下标小于移除后的数组长度,循环移除。
        if nums[index] == val: #下标元素等于给定值val,从末位元素的值倒序依次替换。
            nums[index] = nums[ls - 1 - count] 
            count += 1
        else: #下标元素不等于给定值val,下标 + 1。
            index += 1
    return count, ls - count #返回移除记数和列表剩余元素个数。

代码运行效果


#### 输出代码:
for i, j  in nums:
    print(f'nums:{i},val:{j}')    
    ls = remove_elements(i, j)
    print(f'输出:{ls[1]},{i[:ls[1]]}\n')

输出效果:

在这里插入图片描述

??结果输出。修改代码,可以有想要的效果。

输出代码二:

for k, i in enumerate(nums): #枚举函数遍历,好打印编号。
    print(f'{k + 1}. nums:{i[0]},val:{i[1]}')    
    ls = remove_elements(i[0], i[1])
    print(f'   输出:{ls[1]},{i[0][:ls[1]]}\n')

输出效果:

在这里插入图片描述

输出代码三:

print(f'\n\n\n{"移除元素":_^38}\n\n')
for i, j in nums:
    print(f'列表:{i},val:{j}\n')
    ls = remove_elements(i, j)
    print(f'移除{ls[0]}个“{j}”后,列表还有{ls[1]}个元素:{i[:ls[1]]}\n\n')
print(f'{"The End":_^42}\n\n')

输出效果:

在这里插入图片描述


回首页

python完整代码


(如果从语句注释不能清楚作用,请评论区留言指教和探讨。🤝)

# coding: utf-8


def remove_elements(nums, val):
    '''移除给定数组中的所有给定值'''
    ls = len(nums) #数组长度。
    if ls == 0: #数组为空,返回0。
        return 0, 0
    count , index = 0, 0 #记数器和下标初始化。
    while index < ls - count: #下标小于移除后的数组长度,循环移除。
        if nums[index] == val: #下标元素等于给定值val,从末位元素的值倒序依次替换。
            nums[index] = nums[ls - 1 - count] 
            count += 1
        else: #下标元素不等于给定值val,下标 + 1。
            index += 1
    return count, ls - count #返回移除记数和列表剩余元素个数。


nums = ([3, 2, 2, 3], 3), ([0, 1, 2, 2, 3, 0, 4, 2], 2)
for i, j  in nums:
    print(f'nums:{i},val:{j}')    
    ls = remove_elements(i, j)
    print(f'输出:{ls[1]},{i[:ls[1]]}\n')

#结果输出。修改代码,可以有想要的效果。


#输出二:
for k, i in enumerate(nums): #枚举函数遍历,好打印编号。
    print(f'{k + 1}. nums:{i[0]},val:{i[1]}')    
    ls = remove_elements(i[0], i[1])
    print(f'   输出:{ls[1]},{i[0][:ls[1]]}\n')


#输出三:
print(f'\n\n\n{"移除元素":_^38}\n\n')
for i, j in nums:
    print(f'列表:{i},val:{j}\n')
    ls = remove_elements(i, j)
    print(f'移除{ls[0]}个“{j}”后,列表还有{ls[1]}个元素:{i[:ls[1]]}\n\n')
print(f'{"The End":_^42}\n\n')

回首页

我的HOT博:

      数据结构与算法 最新文章
    【力扣106】 从中序与后续遍历序列构造二叉
    leetcode 322 零钱兑换
    哈希的应用:海量数据处理
    动态规划|最短Hamilton路径
    华为机试_HJ41 称砝码【中等】【menset】【
    【C与数据结构】——寒假提高每日练习Day1
    基础算法——堆排序
    2023王道数据结构线性表--单链表课后习题部
    LeetCode 之 反转链表的一部分
    【题解】lintcode必刷50题<有效的括号序列
    上一篇文章      下一篇文章      查看所有文章
    加:2022-02-05 21:57:54  更:2022-02-05 22:00:06 
     
    开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
    教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
    数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

    360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:44:38-

    图片自动播放器
    ↓图片自动播放器↓
    TxT小说阅读器
    ↓语音阅读,小说下载,古典文学↓
    一键清除垃圾
    ↓轻轻一点,清除系统垃圾↓
    图片批量下载器
    ↓批量下载图片,美女图库↓
      网站联系: qq:121756557 email:121756557@qq.com  IT数码