问题:怎样在Python的一个序列上面保持元素顺序的同时消除重复的值?answer:如果序列上的值都是hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题. eg1: def dedupe(items): seen = set() for item in items: if item not in seen: yield item seen.add(item) 下面是使用上述函数的例子: >>> a = [1, 5, 2, 1, 9, 1, 5, 10] >&g…
编程中遇到个问题,python json.loads时元素顺序可能会发生变化. 这个对于一些需要使用元素顺序来做一些策略的代码来说是致命的. 在网上查了查,结合自己的知识总结一下. 使用dict时,Key是无序的.在对dict做迭代时,我们无法确定Key的顺序. 如果要保持Key的顺序,可以用OrderedDict. OrderedDict的Key会按照插入的顺序排列,不是Key本身排序. #coding=utf-8 import json import collections my_dict…
消除 list重复值 Java代码  public void removeDuplicate(List list) { HashSet h = new HashSet(list); list.clear(); list.addAll(h); } 交集: Java代码  list.retainAll(Arrays.asList(arr)); // list 中的就是交集了  arr为数组 差集: Java代码  list1.removeAll(list2); 并集: Java代码  list1.a…
python序列分列表和元组,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号.元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可.举个简单的例子,a1是一个元组,a2是一个列表 >>>a1 = (2, 3.3, 'ytkah', 7.6, 9, 12, False) # a1是一个tuple >>>a2 = [True, 8, 'smile'] # a2是一个list 序列元素的下标从0开始: >>>print(a1[0]) #…
enumerate 函数用于遍历序列中的元素以及它们的下标: >>> for i,j in enumerate(('a','b','c')): print i,j 0 a1 b2 c>>> for i,j in enumerate([1,2,3]): print i,j 0 11 22 3>>> for i,j in enumerate({'a':1,'b':2}):    #注意字典,只返回KEY值!! print i,j 0 a1 b >&g…
sequence 序列 sequence(序列)是一组有顺序的对象的集合.序列可以包含一个或多个元素,也可以没有任何元素. 我们之前所说的基本数据类型,都可以作为序列的对象.对象还可以是另一个序列.序列有两种:list (表) 和 tuple(元组) . list和tuple的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更. List 获得list元素的个数: >>> lst=['更新慢','python',5.44,False] >>…
2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tuple常用操作 类似list,但是不能进行修改.能作为字典的key值 当然如果tuple中的元素有list,要另当别论 序列解包 > - 可以用序列解包对多个变量同时进行赋值 - 序列解包也可以用于列表和字典.字典默认是对key操作,如果需要key-value操作,需要items()方法,如果仅对va…
2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.remove(x) 删除在列表中首次出现的指定元素x list.pop([index]) 删除并返回列表对象指定位置的元素,默认为最后一个元素 list.clear() list.index(x) 返回第一个值为x的元素的下标,若不存在值为x的元素则抛出异常 list.count(x) 返回指定元素x在列…
python序列包括字符串.列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数. 一.python序列 序列类型操作符 标准类型的操作符一般都能适用于所有的序列类型,这里说一下序列类型操作符. 1. 成员关系操作符(in.not in) 成员关系操作符是用来判断一个元素是否属于一个序列的.具体语法: 对象 [not] in 序列 2. 连接操作符(+) 这个操作符允许我们把一个序列和另一个相同类型的序列做连接,具体语法: sequence1 +sequence2 3.…
字典:反映对应关系的映射类型 字典(dict)是包含若干“键:值”元素的无序可变序列 字典中元素的“键”可以是python中任意不可变数据,例如整数.实数.复数.字符串.元组等类型可哈希数据,“键”不允许重复,“值”是可以重复的.字典在内部维护的哈希表使得检索操作非常快. 字典创建与删除 使用“=” >>> aDict = {'server':'db.diveintopython3.org','database':'mysql'}>>> x = dict() # 创建空…