list去掉重复元素

需求: 有list 里面含有重复元素,要求去掉重复元素:

solution 1:

>>> a
[1, 2, 2, 1, 3, 4, 5, 6, 5]
>>> set(a)
set([1, 2, 3, 4, 5, 6])
>>> list(set(a))
[1, 2, 3, 4, 5, 6]

set操作是 Build an unordered collection of unique elements.

solution 2:

>>> a
[1, 2, 2, 1, 3, 4, 5, 6, 5]
>>> b={}
>>> b.fromkeys(a)
{1: None, 2: None, 3: None, 4: None, 5: None, 6: None}
>>> b.fromkeys(a).keys()
[1, 2, 3, 4, 5, 6]

b.fromkeys(S,[v])是以 s序列中的元素为key v中的元素为value生成字典。 v默认为none

时间: 2024-10-09 06:08:52

list去掉重复元素的相关文章

两个List去掉重复元素放在一个List中去【两个Listsize值非常大】

/* * 思路: * 1.取得两个list的相同元素:list.retainAll(E)方法 * 2.两个list分别去掉相同的元素:list.removeAll(E); * 3.将剩下的两个List分别加入到一个新的List去:addAll */ public class Test1 { public static void main(String[] args) { List list1 = new ArrayList(); Random random = new Random(); //l

自己编写一个数组去掉重复元素的函数

自己研究编了一个数组去重的函数,看到过其他人编写的,不过大多数都是已付出很大的存储空间为代价,于是自己编写了一个函数,有好的意见或思想欢迎和我一起分享! #include <stdio.h>#include <string.h> #define MAX_FRIEND 100 int repeats_num[MAX_FRIEND]; /*升序排序*/int comp_int_inc(void *a,void *b){ return ( *((int *)a) - *((int *)b

python list 去掉重复元素

貌似用遍历最方便. http://www.cnblogs.com/tudas/p/python-delete-duplicate-element-from-list.html 原文地址:https://www.cnblogs.com/qingyuanjushi/p/8449013.html

matlab中怎样删除重复元素使得和Python中集合set的功能一样

1 >> m=[1,1,2,2,3]; 2 >> m 3 4 m = 5 6 1 1 2 2 3 7 8 >> b=unique(m) 9 10 b = 11 12 1 2 3 使用unique函数;从而去掉重复元素,统计出现的元素及元素个数; 例如: 1 >> a=[1,2,3,2;5,2,9,7;8,0,6,3]; 2 >> a 3 4 a = 5 6 1 2 3 2 7 5 2 9 7 8 8 0 6 3 9 10 >> b=u

去掉集合中的重复元素

1 //去掉集合中额重复元素 2 //方法:选择排序的思想 3 4 public class ArrayListDemo1 { 5 6 public static void main(String[] args) { 7 8 ArrayList arrayList = new ArrayList(); 9 10 arrayList.add("hello"); 11 arrayList.add("hello"); 12 arrayList.add("java

排序及重复元素去重的说明,TreeSet,HashSet

先看下面一段代码: package 类集; import java.util.Set; import java.util.TreeSet; class Person{ private String name ; private int age ; public Person(String name,int age){ this.name = name ; this.age = age ; } public String gtoString(){ return "姓名:" + this.

移除数组中的重复元素

给定一个升序排列的数组,去掉重复的数,并输出新的数组的长度. 例如:数组 A={1,1,2},你的程序应该输出 222 即新数组的长度,新数组为 {1,2}. 要求:不能新开数组分配额外的空间,即常数空间限制. 输入格式 输入一个整数 n(1≤n≤1000). 接下来一行 nnn 个整数 Ai(?1000≤Ai≤1000),表示数组 A 中的每个元素. 输出格式 输出一个整数,表示新数组长度. 样例输入 5 0 0 1 1 2 样例输出 3 Python的数组真心的不方便,慢慢适应吧.

减治求有重复元素的全排列

求n个元素的全排列的所有解可以用减治法:每次拎出一个数做前缀,对剩下的元素再求全排列,直至只剩一个元素.代码源自<算法分析与设计(王晓东)>,复杂度O(n2) 1 //输出k~m的所有全排列 2 void perm(int k,int m) 3 { 4 if(k==m) 5 { 6 for(int i=0;i<=m;i++) 7 printf("%d ", list[i]); 8 printf("\n"); 9 }else 10 { 11 for(

Remove Duplicates from Sorted List ,除去链表中相邻的重复元素

Remove Duplicates from Sorted List : Given a sorted linked list, delete all duplicates such that each element appear only once. For example,Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3. public ListNode deleteDu