从元组列表中的列表中删除空格?

时间:2018-08-09 20:31:22

标签: python python-3.x list

enter image description here

我要删除元组列表中存在的空白,我该怎么做???例如在第一个元组列表中,“面包房”具有我要使其成为“面包房”的空白

for i in features:
  for j in i[1]:
    j = j.strip(' ')

我尝试过但是失败了。

  

功能=(83,     ['快餐',      面包店      '饮料',      “汉堡”      ' 冰淇淋',      ' 比萨',      ' 海鲜',      '牛排',      “茶和咖啡”,      ' 甜点',      “巴塔格拉姆”,      '巴基斯坦',      '1',      '23',      '26',      '37',      '44']),    (83,     ['快餐',      面包店      '饮料',      “汉堡”      ' 冰淇淋',      ' 比萨',      ' 海鲜',      '牛排',      “茶和咖啡”,      ' 甜点',      “巴尔”      '巴基斯坦',      '1',      '23',      '26',      '37',      '44']),    (83,     ['快餐',      面包店      '饮料',      “汉堡”      ' 冰淇淋',      ' 比萨',      ' 海鲜',      '牛排',      “茶和咖啡”,      ' 甜点',      'Burewala',      '巴基斯坦',      '1',      '23',      '26',      '37',      '44']),    (83,     ['快餐',      面包店      '饮料',      “汉堡”      ' 冰淇淋',      ' 比萨',      ' 海鲜',      '牛排',      “茶和咖啡”,      ' 甜点',      'Chakwal',      '巴基斯坦',      '1',      '23',      '26',      '37',      '44'])

3 个答案:

答案 0 :(得分:0)

这是一种方法。使用str.strip

例如:

features = (83, ['Fast Food', ' Bakery', ' Beverages', ' Burgers', ' Ice Cream', ' Pizza', ' Seafood', ' Steaks', ' Tea & Coffee', ' Dessert', 'Batagram', 'Pakistan', '1', ' 23', ' 26', ' 37', ' 44']), (83, ['Fast Food', ' Bakery', ' Beverages', ' Burgers', ' Ice Cream', ' Pizza', ' Seafood', ' Steaks', ' Tea & Coffee', ' Dessert', 'Bhalwal', 'Pakistan', '1', ' 23', ' 26', ' 37', ' 44']), (83, ['Fast Food', ' Bakery', ' Beverages', ' Burgers', ' Ice Cream', ' Pizza', ' Seafood', ' Steaks', ' Tea & Coffee', ' Dessert', 'Burewala', 'Pakistan', '1', ' 23', ' 26', ' 37', ' 44']), (83, ['Fast Food', ' Bakery', ' Beverages', ' Burgers', ' Ice Cream', ' Pizza', ' Seafood', ' Steaks', ' Tea & Coffee', ' Dessert', 'Chakwal', 'Pakistan', '1', ' 23', ' 26', ' 37', ' 44'])
features = [(i, [j.strip() for j in k]) for i, k in features]
print(features)

输出:

[(83, ['Fast Food', 'Bakery', 'Beverages', 'Burgers', 'Ice Cream', 'Pizza', 'Seafood', 'Steaks', 'Tea & Coffee', 'Dessert', 'Batagram', 'Pakistan', '1', '23', '26', '37', '44']), (83, ['Fast Food', 'Bakery', 'Beverages', 'Burgers', 'Ice Cream', 'Pizza', 'Seafood', 'Steaks', 'Tea & Coffee', 'Dessert', 'Bhalwal', 'Pakistan', '1', '23', '26', '37', '44']), (83, ['Fast Food', 'Bakery', 'Beverages', 'Burgers', 'Ice Cream', 'Pizza', 'Seafood', 'Steaks', 'Tea & Coffee', 'Dessert', 'Burewala', 'Pakistan', '1', '23', '26', '37', '44']), (83, ['Fast Food', 'Bakery', 'Beverages', 'Burgers', 'Ice Cream', 'Pizza', 'Seafood', 'Steaks', 'Tea & Coffee', 'Dessert', 'Chakwal', 'Pakistan', '1', '23', '26', '37', '44'])]

答案 1 :(得分:0)

for tup in features:
    lst = [i.strip() for i in tup[1]]
    tup = tup[0] + lst 

如果我理解正确,它将遍历您列表中的每个元组,并将列表-索引1-替换为每个项目的str.strip()

答案 2 :(得分:0)

使用列表推导并映射到列表的每个元素:

features = [(a, list(map(lambda y: y.strip(), b))) for a, b in features]