从字符串列表中删除整数

Nep*_*mer 3 python regex string list

我有一个字符串列表列表,我想删除整数

[[[u'HH', u'AH0', u'L', u'OW1'], [u'HH', u'EH0', u'L', u'OW1']]]
Run Code Online (Sandbox Code Playgroud)

以上列表应该返回

[[[u'HH', u'AH', u'L', u'OW'], [u'HH', u'EH', u'L', u'OW']]]
Run Code Online (Sandbox Code Playgroud)

我试过使用过滤器

filter(lambda i: not str.isdigit(i), phoneseqList[0])
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用

Cor*_*mer 5

对于任意嵌套的字符串列表,这里是一个递归解决方案,将删除所有字符串中的任何数字

def remove_digits(i):
    if isinstance(i, list):
        return [remove_digits(j) for j in i]
    else:
        return ''.join(j for j in i if not j.isdigit())
Run Code Online (Sandbox Code Playgroud)

>>> l = [[[u'HH', u'AH0', u'L', u'OW1'], [u'HH', u'EH0', u'L', u'OW1']]]
>>> remove_digits(l)
[[['HH', 'AH', 'L', 'OW'], ['HH', 'EH', 'L', 'OW']]]
Run Code Online (Sandbox Code Playgroud)

编辑
要为每个字符串添加扩展名,您可以执行相同的操作

def add_ext(i, ext):
    if isinstance(i, list):
        return [add_ext(j, ext) for j in i]
    else:
        return i + ext
Run Code Online (Sandbox Code Playgroud)

所以你可以说

>>> add_ext(l, '.jpeg')
Run Code Online (Sandbox Code Playgroud)