使用python实现查找list中相同的字符

最近和小伙伴想实现从给定列表中识别出来相同的元素,现分享出来,有需要的小伙伴可以探讨一下,指点一下,具体如下:
一、思路
1.按照list中第一元素的顺序,进行遍历每一个字符-(使用for循环)
2.基于1找出要对比的元素,在给定列表中每个元素是否包含要对比的元素-(是否for循环遍历每个列表元素)
对比的方案:开始用方式一for循环遍历元素中的每个字符
当实现方式一,发现这层的循环可以使用python中find()函数,从而产生方式二

一、代码
def commonChars(A):
“”"
该函数主要识别list中各元素相同的字符
:param A: 给定的list
:return: common_chars:相同字符的列表
“”"
lenth_li = len(A)
lenth_li0 = len(A[0])
common_li = []
##方式一:通过遍历list中第一个元素每一个字符的方式
#遍历第一个列表元素得每一个元素
# for x in range(0,lenth_li0):
# element = A[0][x]
# i = 1
# #将列表中每一元素与列表中没有元素进行比对
# for y in range(1,lenth_li):
# #具体比对列表中每一个元素中每一个字符
# for y1 in range(0,len(A[y])):
# if element == A[y][y1]:
# i += 1
# if i == lenth_li:
# common_li.append(A[y][y1])
# A[y] = A[y][:y1] + A[y][y1 + 1:]
# break
# else:
# continue
##方式二:通过find()函数查找相同的字符
#遍历第一个元素的每一个字符
for x in range(0,lenth_li0):
i = 1
#遍历给定list中的每个元素
for y in range(1,lenth_li):
result_find = A[y].find(A[0][x])
if result_find == -1:
break
else:
i += 1
A[y] = A[y].replace(A[0][x], ‘’, 1)
if i == lenth_li:
common_li.append(A[0][x])
return common_li
三、注意点
当实现过程发现对于像A = [‘bella’, ‘label’, ‘roller’]这样的列表中包含两个l,在循环对比时只识别到第一l,故增加了找相同字符,并进行删除的操作。
方式一中由于遍历到每个字符,故采取字符串切片和拼接操作;
方式二采取python中replace()的方法,由于replace替换如不注明替换的个数的话,会全部替换,因此明确仅替换第一个A[y].replace(A[0][x], ‘’, 1)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值