当前位置:首页 » 编程语言 » python列表比较

python列表比较

发布时间: 2022-07-14 16:49:12

1. python 比较列表内字符串是否相等

要使用contains方法,直接在后面跟就可以了,加个str当然会报错
---不好意思,看了一下,python应该没有contains这个方法
可以使用find()代替
注意不要写成s.str.find(),s.find()就行了

2. python 两个列表对比,并输出相等的顺序

简单的调试了下,效果实现了:

代码:

importrandom

a=['a','s','d']
b=['j','k','l']
c=['o','p','q']
d=[]
cont=''

test=[a,b,c]
random.shuffle(test)#把test列表打乱,防止下面的for循环默认从a列表开始遍历,做到随机的效果
foriintest:
d.append(i[random.randint(0,2)])#随机从列表里获取一个元素放进d列表内,能实现从a,b,c列表里分别都随机获取一个元素


#对返回顺序进行处理
ifd[0]ina:
cont+='a'
ifd[1]inb:
cont+='.b.c'
else:
cont+='.c.b'
elifd[0]inb:
cont+='b'
ifd[1]ina:
cont+='.a.c'
else:
cont+='.c.a'
elifd[0]inc:
cont+='c'
ifd[1]ina:
cont+='.a.b'
else:
cont+='.b.a'

print(d)
print(cont)

测试结果:

功能是实现了,不过代码看起来有点多,你觉得不够好可以再优化一下

3. Python list 多个元素的列表,如何进行比较呢

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

4. python两个列表比较

直接遍历即刻
for i in a:
if i in b:
c.append (i)

5. python怎么比较两个列表中的元素

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

6. 如何用Python比较两个列表,并进行合并

list1=[('a',1),('b',5),('c',3)]
list2=[('a',2),('b',2)]
hash={}
fori,kinlist1+list2:
ifinotinhash:
hash[i]=k
elifk>=hash[i]:
hash[i]=k
list3=hash.items()
print(list3)


这样吗随便写的

7. python 里面有没有比较两个列表的函数

仅限没有重复的情况。

>>> a=[1,2,3,4,5,6]
>>> b=[1,2,3]
>>> set(a)-set(b)
set([4, 5, 6])


如果要考虑重复的话,就有点麻烦了:

from math import fabs
def compare(list1,list2):
   dict1=dict()
   dict2=dict()
   total = list(set(list1+list2))
   dif = []
   for i in list1:
      if str(i) in dict1:
         dict1[str(i)] += 1
      else:
         dict1[str(i)] = 1
   for i in list2:
      if str(i) in dict2:
         dict2[str(i)] += 1
      else:
         dict2[str(i)] = 1
   for i in total:
      if str(i) not in dict1 or str(i) not in dict2:
         if str(i) in dict1:
            for num in range(int(dict1[str(i)])):
               dif.append(i)
         else:
            for num in range(int(dict2[str(i)])):
               dif.append(i)
      else:
         count = fabs(int(dict1[str(i)])-int(dict2[str(i)]))
         for num in range(int(count)):
            dif.append(i)
   return dif
a=[1,1,1,1,2,3,4,4,4,5,6,7,8,9]
b=[2,2,2,2,3,4,4,4,4,5,6,7,8,9,10,11]
print compare(a,b)

8. python两个列表(或集合、字典)进行比较,如果一个列表中的几位在另一个列表中出现,则删除这些项

#coding=utf-8
#py2.7
test1 = ['a1', 'b2']
test2 = ['a1_001', 'a1_002', 'a1_003', 'a2_001', 'a3_001', 'b2_001']
print filter(lambda x:x[:2] not in test1,test2)
#我是按照你给的例子来写的代码,这样只循环了 test2长度的次数
#“现在两组数据长度不一样”,不太明白这句话对于你的逻辑有啥影响

9. python两个列表怎么比较找出不同

可以使用把列表转换成集合然后做它们的差集,比如我们可以从下面的例子中得出l1和l2列表不同的元素:


l1 = [1,2,3,4,5]
l2 = [1,3,5]
difference = list(set(l1) - set(l2))
print(difference)


输出:

[2, 4]

热点内容
c语言基本概念 发布:2024-05-16 21:44:16 浏览:189
sqlserver跨库查询 发布:2024-05-16 21:36:56 浏览:163
sql多表连接语句 发布:2024-05-16 21:21:53 浏览:300
sqlscope 发布:2024-05-16 21:17:37 浏览:965
存储器通常有 发布:2024-05-16 21:17:35 浏览:378
云数据库概念 发布:2024-05-16 21:17:32 浏览:818
铺地板编程 发布:2024-05-16 21:07:36 浏览:458
苹果手机缓存删除 发布:2024-05-16 21:04:35 浏览:507
scratch编程电子书 发布:2024-05-16 21:02:54 浏览:227
wps加密文件忘记密码 发布:2024-05-16 21:01:37 浏览:931