通过比较多个列表删除Python字符串

时间:2017-07-10 04:27:57

标签: python list

目前,我有3个列表,每个列表中包含大约20个元素:

  1. 从网站上删除文字的来源列表,格式如下:
  2. area addressbuildingname

    离。 ' midtown parkst100stockton'

    1. 第二个列表包含各个区域的名称
    2. 离。 '市中心'

      1. 第三个列表包含建筑物的名称
      2. 离。 '斯托克顿'

        有没有办法比较这些列表并从第一个列表中删除区域和建筑物名称,这样我就可以收集地址并将其添加到第4个列表

        离。 ' parkst100'

        由于

2 个答案:

答案 0 :(得分:1)

假设我们有3个列表:

a = ['midtown parkst100stockton', 'uptown square200lenton']
b = ['midtown', 'uptown']
c = ['stockton', 'qwerty']

您可以使用以下代码:

d = []
for i,j,k in zip(a,b,c):
    if i.startswith(j) and i.endswith(k):
        d.append(i.lstrip(j).rstrip(k))

如果来自a列表的字符串以b列表中的相应字符串开头,并以c列表中的字符串中间值>

答案 1 :(得分:0)

我希望这会对你有所帮助。

address = ['midtown parkst100stockton']
area = ['midtown']
building = ['stockton']
mylst = map(lambda each:each.strip(area[0]), address)[0].strip(building[0])
print mylst
  

输出:parkst100