python - 元组列表(从元组中删除特殊项目)

标签 python string list tuples list-comprehension

我有元组列表:

stack = [('Гидротехническое оборудование',
  'Гидравлическая турбина',
  'Рабочее колесо',
  'Кавитационный износ Механические повреждения Трещины на лопастях',
  '0'),
 ('Гидротехническое оборудование',
  'Гидравлическая турбина',
  'Рабочее колесо',
  'Кавитационный износ Механические повреждения Трещины на лопастях',
  '1'),
 ('Гидротехническое оборудование',
  'Гидравлическая турбина',
  'Рабочее колесо',
  'Кавитационный износ Механические повреждения Трещины на лопастях',
  '1'),
 ('Гидротехническое оборудование',
  'Гидравлическая турбина',
  'Рабочее колесо',
  'Кавитационный износ Механические повреждения Трещины на лопастях',
  '1'),
 ('Гидротехническое оборудование',
  'Гидравлическая турбина',
  'Рабочее колесо',
  'Кавитационный износ Механические повреждения Трещины на лопастях',
  '1')]

有必要从每个元组中删除数字字符串。所以,最终结果应该如下:

[('Гидротехническое оборудование','Гидравлическая турбина','Рабочее колесо','Кавитационный износ Механические повреждения Трещины на лопастях'),('Гидротехническое оборудование','Гидравлическая турбина','Рабочее колесо','Кавитационный износ Механические повреждения Трещины на лопастях'),('Гидротехническое оборудование','Гидравлическая турбина','Рабочее колесо','Кавитационный износ Механические повреждения Трещины на лопастях'),('Гидротехническое оборудование','Гидравлическая турбина','Рабочее колесо','Кавитационный износ Механические повреждения Трещины на лопастях'),('Гидротехническое оборудование','Гидравлическая турбина','Рабочее колесо','Кавитационный износ Механические повреждения Трещины на лопастях')]

以下代码不起作用:

final_list = [item for item in stack for x in item if x.isdigit() == False]

最佳答案

您可以使用 filter().isnumeric() 过滤掉每个非数字字符串,然后使用列表理解将其应用于每个元组:

result = [tuple(filter(lambda x: not x.isnumeric(), item)) for item in stack]

print(result)

您还可以用 list()map() 替换列表理解:

result = list(map(lambda x: tuple(filter(lambda y: not y.isnumeric(), x)), stack))

print(result)

输出:

[('Гидротехническое оборудование', 'Гидравлическая турбина', 'Рабочее колесо', 'Кавитационный износ Механические повреждения Трещины на лопастях'),
 ('Гидротехническое оборудование', 'Гидравлическая турбина', 'Рабочее колесо', 'Кавитационный износ Механические повреждения Трещины на лопастях'),
 ('Гидротехническое оборудование', 'Гидравлическая турбина', 'Рабочее колесо', 'Кавитационный износ Механические повреждения Трещины на лопастях'),
 ('Гидротехническое оборудование', 'Гидравлическая турбина', 'Рабочее колесо', 'Кавитационный износ Механические повреждения Трещины на лопастях'),
 ('Гидротехническое оборудование', 'Гидравлическая турбина', 'Рабочее колесо', 'Кавитационный износ Механические повреждения Трещины на лопастях')

关于python - 元组列表(从元组中删除特殊项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71732978/

相关文章:

java - 与另一个列表相比更新列表元素的快速方法

c++ - 用C++在最后插入

python - PyAudio 和分贝变化和平移

javascript - 错误 405 : Method Not allowed flask, ajax

Python导入错误没有循环依赖

Python 字符串难点

c++ - 字符串计算器 substr()

Java 字符串到对象列表

vba - 使用 VBA 列出网页的所有 URL 地址

python - setuptools 与 distutils : why is distutils still a thing?