简体   繁体   English

从列表中删除字母

[英]remove letters from a list

I have a list 我有一个清单

['PFRMAT,RR', 'TARGET,', 'AUTHOR,5014-2892-3830', 'MODEL,1', 'TGAHPAFKYLAQTSGKEPTWNFWKYLVAPDGKVVGAWDPTVSVEEVRPQI', 'TALVR', '3,9', '3,16', '3,17', '3,18', '3,21', '3,25', '3,26', '3,27', '3,28', '3,29', '3,30']

How can I remove the string letters, so the list becomes ['3,9','3,16','3,17','3,18'] I don't want to use a function that removes the first 6 elements like del as the amount of string of letters at the start isn't a fixed amount 如何删除字符串字母,所以列表变成['3,9','3,16','3,17','3,18']我不想使用删除第一个字符的函数6个元素(例如del作为开头的字母字符串的数量不是固定数量

[elem for elem in my_list if not any(c.isalpha() for c in elem)]

takes my_list and returns a new list with all elements that have no letters in it. 接受my_list并返回一个新列表,其中包含没有字母的所有元素。 It is a list comprehension (thanks @Lattyware) returning a new list, so you probably want to return it back to my_list : 这是一个列表解析(感谢@Lattyware),它返回一个新列表,因此您可能希望将其返回到my_list

my_list = [elem for elem in my_list if not any(c.isalpha() for c in elem)]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM