繁体   English   中英

列表理解……我疯了吗?

[英]List Comprehension.. am I crazy?

我有一个电话号码列表

phone_numbers = [000-000-0000, 000-000-0000, 000-000-0000]


for number in phone_numbers:
   x = list(filter(str.isdigit, number.strip()))
   t = "".join(x)

给了我我想要的结果0000000000

是否可以为此目的使用列表理解,或者我完全关闭?

[list(filter(str.isdigit, x.strip())) for x in phone_numbers]

是的,您可以使用列表理解。

["".join(filter(str.isdigit, number.strip())) for number in phone_numbers]

这里有一些解决方案,

import re

phone_numbers = ["000-000-0000", "000-000-0000", "000-000-0000"]

>>> ["".join(re.findall("\d+", p)) for p in phone_numbers]

['0000000000', '0000000000', '0000000000']

或者

>>> ["".join(x for x in p if x.isdigit()) for p in phone_numbers]

['0000000000', '0000000000', '0000000000']

暂无
暂无

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

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