Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >用于从数组中删除重复元素的 Python 程序

用于从数组中删除重复元素的 Python 程序

作者头像
很酷的站长
发布于 2023-08-11 07:10:04
发布于 2023-08-11 07:10:04
1K0
举报
数组是相同数据类型的元素的集合,数组中的每个元素都由索引值标识。它是一种最简单的数据结构,其中每个数据元素都可以通过使用其索引号直接访问。

Python 中的数组

Python 没有特定的数据结构来表示数组。在这里,我们可以使用 列出一个数组。

[6, 4, 1, 5, 9] 0 1 2 3 4

python 中的索引从 0 开始。在上面的块中,整数 6、4、1、5、9 是数组元素,0、1、2、3、4 是各自的索引值。

数组可以有重复的元素,在本文中,我们将讨论几种从数组中删除重复元素的方法。

输入输出方案

假设我们有一个具有重复值的输入数组。并且生成的数组将仅具有唯一的元素。

Input array: A = [1, 5, 3, 6, 3, 5, 6, 1] Output array: [1, 5, 3, 6]

元素 1、5、3、6 是给定数组中的唯一元素。

使用 for 循环

我们将使用 for 循环来迭代所有数组元素,在每次迭代中,我们将使用 not in 运算符找到重复项。

在这个例子中,我们首先初始化一个空列表结果来存储所有唯一值,这些值在 for 循环中找到。

lst = [1, 5, 3, 6, 3, 5, 6, 1] print ("The original array is: ",lst) # Remove repeated elements from array result = [] for i in lst: if i not in result: result.append(i) print ("The array after removing repeated elements: ", result)

输出

The original array is:  [1, 5, 3, 6, 3, 5, 6, 1]

The array after removing repeated elements:  [1, 5, 3, 6]

“not in”运算符正在检查当前元素是否存在于空列表中。如果它不存在,则该元素将附加到结果列表中,否则忽略该元素。

使用集

Set 是 python 中的一种数据结构,它存储唯一的数据。这意味着,它不允许存储重复的元素。

在此示例中,我们将简单地将数组从列表数据类型转换为设置数据类型。

lst = [1, 5, 3, 6, 3, 5, 6, 1] print ("The original array is: ",lst) # Remove repeated elements from array result = list(set(lst)) print ("The array after removing repeated elements: ", result)

输出

The original array is:  [1, 5, 3, 6, 3, 5, 6, 1]

The array after removing repeated elements:  [1, 3, 5, 6]

我们知道,集合数据结构不能在其中容纳重复的项目,因此我们得到了包含所有唯一元素的输出数组。

使用 Enumerate() 函数

Enumerate() 是一个 python 内置函数,它接受一个可迭代对象并返回一个元组,其中包含一个计数和从迭代可迭代对象中获得的值。

语法

enumerate(iterable, start=0)

我们将在列表推导式中执行 enumerate() 函数来跟踪数组中每个元素的索引,然后索引值 i 可用于检查元素 n 是否已经存在于数组中,直到索引 i。如果它存在,我们将忽略该元素,否则我们会将其添加到结果数组中。

lst = [1, 5, 3, 6, 3, 5, 6, 1] print ("The original array is: ",lst) # Remove repeated elements from array result = [i for i, n in enumerate(lst) if n not in lst[:i]] print ("The array after removing repeated elements: ", result)

输出

The original array is:  [1, 5, 3, 6, 3, 5, 6, 1]

The array after removing repeated elements:  [1, 5, 3, 6]

使用 Dict.fromkeys()

python dict.fromkeys() 方法用于从给定的键和值集创建字典。字典存储一组唯一的键。

语法

dict.fromkeys(keys, values)

参数

键 − 它是必需的参数。它需要一个可迭代对象来指定新字典的键。

值 − 它是一个可选参数,所有键的值。默认值为“无”。

在此示例中,我们将创建一个仅包含键的字典,而不使用键和值对。

lst = [1, 5, 3, 6, 3, 5, 6, 1] print ("The original array is: ",lst) # Remove repeated elements from array result = list(dict.fromkeys(lst)) print ("The array after removing repeated elements: ", result)

输出

The original array is:  [1, 5, 3, 6, 3, 5, 6, 1]

The array after removing repeated elements:  [1, 5, 3, 6]

众所周知,字典中的键不能重复。因此,fromkeys() 方法会自行删除重复的值。然后我们将其转换为列表以获取包含所有唯一元素的数组。

这些是我们可以从数组中删除重复元素的一些方法。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
即学即用的30段Python实用代码
Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。它的简单和易用性造就了它如此流行的原因。
Python数据科学
2019/10/06
6540
即学即用的30段Python实用代码
原标题 | 30 Helpful Python Snippets That You Can Learn in 30 Seconds or Less
昱良
2019/09/18
8130
Python全网最全基础课程笔记(七)——列表,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
当你尝试访问一个不存在的索引时(即索引超出了列表的边界),Python会抛出一个IndexError异常。
小白的大数据之旅
2024/11/20
3880
Python全网最全基础课程笔记(七)——列表,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!
第八天- 基础数据操作补充 集合set
  若执行循环删除 应把要删除的内容保存在新列表中,循环新列表,删除老列表(字典)
py3study
2020/01/20
4440
Python基础三
不可变的数据类型公用,可变的数据类型重新开辟一个空间,对源数据进行修改,深拷贝的内容不进行改变
changxin7
2019/09/10
1.4K0
Python基础教程 读书笔记 第四章 字典
>>>names=['Alice','Beth','Cecil','Dee-Dee','5551']
统计学家
2019/04/10
4970
Python 新手突破瓶颈指南:利用 itertools.repeat 生成重复元素
在数据处理中,有时需要生成重复的元素序列,这时候利用 itertools.repeat() 它可以帮助我们轻松生成指定次数的重复元素或无限重复的元素。
MegaQi
2024/08/14
2280
C语言删除无序整型数组中的重复元素及时间复杂度
遇到一个题,大概要求是写一个函数处理来去掉一个无序的整型数组(例如int i_arr[] = { 1, 2, 2, 3, 4, 2, 3, 5 };)中重复的元素,并返回最终的长度。
typecodes
2024/03/29
3170
C语言删除无序整型数组中的重复元素及时间复杂度
Python内置数据结构之字典(完整版)
今天主要讲解上次未完成的内置数据结构-字典。小白这几天比较忙,忙的忘记了健身及写作,特发此文以作补偿。 Python字典简介 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 这种key-value存储方式,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。 请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。 和list比较,di
1846122963
2018/03/09
8860
python3--中一些常见的坑(机制上的问题)
重点:在循环一个列表时,最好不要进行删除的动作(一旦删除,索引会随之改变),容易错误。
py3study
2018/08/02
3880
Python字典Dictionary
Python字典Dictionary 特点: 1.可变容器模型; 2.存储任意类型对象; 3.key不一定唯一,如重复按最后出现的计算; 4.键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行 格式:{'k1':'v1','k2':'v2','k3':'v3'} 基本操作 定义一个字典 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; 输出 try: # 正常输出 print("dict['Name']: ", dict
前端小鑫同学
2022/12/24
3900
Python基础数据类型之集合以及其他和深浅copy
一、基础数据类型汇总补充 list  在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引)。  错误示范: lis = [11,22,33,44,55] for i in range(len(lis)): print(i) # i = 0 i = 1 i = 2 del lis[i] print(lis) # [11,22,33,44,55]
新人小试
2018/04/12
6540
回顾|Python中的数据结构
可对列表执行所有的标准序列操作,如索引、切片、拼接和相乘,但列表的有趣之处在于它不同于元组 是可以修改的。
用户3577892
2021/03/15
3.3K0
回顾|Python中的数据结构
Python字典详细操作
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
Yuou
2022/09/26
5430
Python 数据类型常用的内置方法(三)
目录 Python 数据类型常用的内置方法(三) 1、列表内置方法 1、sort():升序 2、reverse():颠倒顺序 3、列表比较运算 2、字典内置方法 1、对Key的操作 2、len( )--统计键值对个数 3、成员运算 4、删除元素 5、get()方法 --获取V值 6、keys( )、values( )、items( ) 7、update --更新字典 8、fromkeys --初始化字典 3、元组内置方法 1、类型转换 2、索引 3、切片 4、len()统计元素个数 5、count()统计元
HammerZe
2022/03/24
5510
Python 数据类型常用的内置方法(三)
Datawhale组队学习 -- Task 5: 字典、集合和序列
字典 是无序的 键:值(key:value)对集合,键必须是互不相同的(在同一个字典之内)。
余生大大
2022/11/02
7230
Datawhale组队学习 -- Task 5: 字典、集合和序列
Python中字典的详细用法
#字典 #字典是Python中唯一内建的映射类型。字典中没有特殊的顺序,但都是存储在一个特定的键(key)下面,键可以是数字,字符串,甚至是元组 #一、字典的使用 #在某些情况下,字典比列表更加适用: #1、表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组 #2、存储文件修改时间,用文件名作为键; #3、数字电话\地址薄 #1、使用列表创建一个电话本,(这里用字符串表示电话号码,以0开头的数字回会被编译成8进制数字) name=["A","B","C","D"] phone=["2341","910
hankleo
2020/09/17
9540
python摸爬滚打之day07----
  1.2  不用clear()清空列表或字典 ----> 把要删除的元素放在新列表里,然后批量删除.
py3study
2020/01/20
4140
python 字典i
字典     字典类似于你通过联系人名称查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。     键值对在字典中以这样的方式标记:d = {key1 : value1, key2 : value2 }。注意它们的键/值对用冒号分割,而各个对用逗号分割,所有这些都包括在花括号中。另外,记住字典中的键/值对是没有顺序的。如果你想要一个特定的顺序,那么你应该在使用前自己对它们排序。
py3study
2020/01/13
9430
基本数据类型(二)
  列表是 Python 最常用的数据类型,它是有序元素的集合,元素之间以逗号分隔,用中括号括起来,可以是任何数据类型。同时它也是一种序列,支持索引、切片、加、乘和成员检查等。
py3study
2020/01/16
6780
相关推荐
即学即用的30段Python实用代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档