【问题标题】:How can I delete a specific character from set of tuples?如何从元组集中删除特定字符?
【发布时间】:2020-07-22 16:22:55
【问题描述】:

我想删除每个单词末尾的点(“.”)。

我的代码如下所示:

a = [('hello.',0) , ('foji.',0),('you',0)]
print([s.strip('.') for s in a])

输出应该类似于:[('hello',0) , ('foji',0), ('you',0)]

我得到一个错误,说元组对象没有属性条!即使我改用列表,我也会得到同样的错误!

注意:使用替换也不起作用。

我应该怎么做才能解决这个问题?

【问题讨论】:

  • 替换也不行!
  • 想清楚。当您使用for s in a 进行迭代时,s 的值是什么样的?它们是什么东西?你能.strip()那个吗?你真正想打电话给.strip()的东西是什么?给定s 值,你如何访问那个东西?现在,你能弄清楚创建所需元素的规则吗?
  • 我已经试过了。它不起作用
  • 关闭选民:这不是重复的。问题不在于操作字符串的逻辑;问题是访问字符串。

标签: python python-3.x list tuples strip


【解决方案1】:
  a = [('hello.',0) , ('foji.',0),('you',0)]
  print([(s[0].replace('.', ''), s[1]) for s in a])
 

输出:

  [('hello', 0), ('foji', 0), ('you', 0)]

【讨论】:

    【解决方案2】:

    您正在使用列表中的元组,所以 每个元素都是 (element1,element2) 将您的打印更改为

    print([(s[0].strip('.'),s[1]) for s in a])
    

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多