rxcr.net
当前位置:首页 >> python比较两个列表大小 >>

python比较两个列表大小

list1=[('a',1),('b',5),('c',3)]list2=[('a',2),('b',2)]hash = {}for i,k in list1+list2: if i not in hash: hash[i] = k elif k >= hash[i]: hash[i] = klist3 = hash.items()print(list3)这样吗 随便写的

那么多的函数 可能有吧 但是少有人知道像这么简单的功能为什么不自己定义一个函数呢?def compare(List1,List2): if len[List1]==len[List2]: for i in range(0,len(List1)): if List1[i]==List2[i]: pass else: print i #输出的有差异的索引号 else: print 'error,unequal list'比较时用函数compare(你要比较的两个列表)

可以使用if双分支:a=5b=2if a>b: print(a)else: print(b)结果:

a=list() b= list() print len(a) > len(b)

l1 = list('11100101')l2 = list('00101011')l3 = ['1' if l1[i]==l2[i] else '0' for i in range(len(l1))]print ''.join(l3)

你好!假设原来的两个list是L1,L2.1,合并:L = L1+L22,排序sorted(L) 默认从小到大排列,如果要从大到小排列就是sorted(L,reverse=True)合起来就是L=sorted(L1+L2, reverse=True)仅代表个人观点,不喜勿喷,谢谢.

使用list的index方法可抄以找到list中第一次出现2113该元素的位5261置 >>> l = ['a','b','c','c','d','c']>>> find='b'>>> l.index(find)1找出出现该元素的所有位4102置可以使用一个简单的1653表理解来实现 >>> find = 'c'>>> [i for i,v in enumerate(l) if v==fi

l1 = [ ('张三', 'aabb'), ('张三', 'cc'), ('李四', 'dd'), ('王五', 'ee'),]l2 = [ '张三', '李四',]from collections import defaultdictd3 = defaultdict(str)s2 = set(l2)for t in l1: if t[0] in s2: d3[t[0]] += t[1]l3 = list(d3.items())print(l3)输出:[('张三', 'aabbcc'), ('李四', 'dd')]

从第一个元素顺序开始比较,如果相等,则继续返回第一个不相等元素比较的结果如果所有元素比较均相等,则长的列表大,一样长则两列表相等

注意比较字符串和比较数字不一样,需要手动将字符串转换为整数. 字符串比较不看数字大小,而是看字符的ascii码顺序.raw_input得到的数据是字符串,字符串3其实是大于字符串21的.所以这里如想正确比较,就必须把字符串转为数字.

网站首页 | 网站地图
All rights reserved Powered by www.rxcr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com