【问题标题】:Stripping whitespaces from a list inside the list of tuples?从元组列表中的列表中去除空格?
【发布时间】:2018-08-09 20:31:22
【问题描述】:

我想去除元组内部列表中存在的空格我该怎么做?例如,在第一个元组列表中,“Bakery”有我想将其设为“Bakery”的空格

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, ['快餐', '面包店', '饮料', “汉堡”, ' 冰淇淋', ' 比萨', ' 海鲜', '牛排', '茶和咖啡', ' 甜点', '布勒瓦拉', '巴基斯坦', '1', '23', '26', '37', '44']), (83, ['快餐', '面包店', '饮料', “汉堡”, ' 冰淇淋', ' 比萨', ' 海鲜', '牛排', '茶和咖啡', ' 甜点', '查克瓦尔', '巴基斯坦', '1', '23', '26', '37', '44'])

【问题讨论】:

  • 请阅读mcve
  • 不要发布这样不可读的图像。并且提供一些尝试也有助于我们帮助您
  • @Jean-FrançoisFabre 刚刚添加了我尝试过的代码
  • 添加feature变量数据。它可以只包含几行。并修复代码中的缩进。
  • j 是一个新变量,您不会通过重新分配来更改列表。现在是重复的。

标签: python python-3.x list


【解决方案1】:
for tup in features:
    lst = [i.strip() for i in tup[1]]
    tup = tup[0] + lst 

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

【讨论】:

    【解决方案2】:

    这是一种方法。使用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'])]
    

    【讨论】:

      【解决方案3】:

      对列表的每个元素使用列表推导和映射:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-28
        • 1970-01-01
        • 1970-01-01
        • 2020-07-05
        • 1970-01-01
        • 2018-11-30
        • 1970-01-01
        • 2017-03-05
        相关资源
        最近更新 更多