背景: 在做接口自动化时,通常会判断接口返回中的数据信息,与数据库中返回的数据信息是否一致,比如:将接口返回信息的用户姓名存放到一个列表中,将数据库返回的用户姓名存放到另一个列表中,这时需要判断两个列表是否一致,如果不一致,将不同的元素信息分别回写到excel文件中,可以一目了然的看出哪些信息返回的不正确. 下列代码中直接存放列表信息,比较如下: #接口返回值 list1 = ['张三', '李四', '王五', '老二'] #数据库返回值 list2 = ['张三', '李四', '老二',…
#接口返回值 list1 = ['张三', '李四', '王五', '老二'] #数据库返回值 list2 = ['张三', '李四', '老二', '王七'] a = [x for x in list1 if x in list2] #两个列表表都存在 b = [y for y in (list1 + list2) if y not in a] #两个列表中的不同元素 print('a的值为:',a) print('b的值为:',b) c = [x for x in list1 if x no…
https://www.yiibai.com/python/list_cmp.html 如果元素的类型相同,则执行比较并返回结果.如果元素是不同的类型,则检查它们是否是数字. 如果数字,必要时进行数字强制比较. 如果任一元素是数字,则另一个元素是“较大的”(数字值“最小”). 否则,类型按名称按字母顺序排序. 如果到达其中一个列表的末尾,则较长的列表是“较大的”. 如果排除两个列表并共享相同的数据,结果返回0.如果 list1 < list2 返回 -1, 如果 x == y 返回 0, 如果…
给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式, 当检查最想要的字母时,不区分大小写,所以在你的搜索中 "A" == "a". 请确保你不计算标点符号,数字和空格,只计算字母. 如果你找到 两个或两个以上的具有相同的频率的字母, 返回那个先出现在字母表中的字母. 例如 -- “one”包含“o”,“n”,“e”每个字母一次,因此我们选择“e”. 输入: 用于分析的文本 (str, unicode). 输出: 最常…
两个列表,随机产生4个不相等的数,计算一下,相同位置上的元素相等的个数,用k1表示. b列表中的元素在a列表中,但位置不相同,有多少个,用k2表示. 例如: a=[0, 4, 7, 3]b=[7, 1, 0, 3] k1= 1 (只有第4个元素相等,k1=1)k2= 2(两个列表中都有0和7,但位置不同,k2=2) 代码如下: a=[] b=[] while(len(a)!=4): x=randint(0,9) if x not in a: a.append(x) while(len(b)!=4…
求两个列表的差集 >>> a = [1,2,3] >>> b=[1,2] >>> #################################### >>> #两个列表的差集 >>> ret = [] >>> for i in a: if i not in b: ret.append(i) >>> ret [3] >>> #两个列表的差集2 >>…
将列表中的大写字母转换成小写如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,L1 = ['Hello', 'World', 18, 'Apple', None]请修改列表生成式,通过添加if语句保证列表生成式能正确地执行. # -*- coding: utf-8 -*- L1 = ['Hello', 'World', 18, 'Apple', None] L2 = [s.lower() for s in L1 if isinstance(s,str)==True]…
由于python中的for循环不像C++这么灵活,因此该用枚举法实现该算法: C="abcdefhe" D="cdefghe" m=0 n=len(C) E=[] b=0 while(m<n): i=n-m while(i>=0): E.append(C[m:m+i]) i-=1 m+=1 for x in E: a=0 if x in D: a=len(x) c=E.index(x) if a > b:#保存符合要求的最长字符串长度和地址 b=a…
01 Python增加元素,不像其他语言使用现实的操作接口,只需要dict[1]=3,如果字典中不存在1,则直接新增元素键值对(1,3),如果存在则替换键1为3. if key in dict:判断出key是否在dict字典中. 统计元素出现的次数: def word_count(nums): dict={} for it in nums: if it not in dict: dict[it] = 1 else: dict[it] += 1 return dict print(word_cou…
两个list, 有对应关系,希望同时完成遍历 用迭代器迭代的方法也不是不可以,python提供了更直观的方法: 可以使用zip把两个list打包 , 类似: list1 = [1,2,3,4] list2 = [5,6,7,8] for (i1, i2) in zip(list1,list2): i3 = i1+i2 print i3…