use*_*446 2 python list-comprehension
我想从第一个非数字元素中提取列表的所有元素:
input = [u'12', u'23', u'hello', u'15', u'guys']
Run Code Online (Sandbox Code Playgroud)
我想要:
output = [u'hello', u'15', u'guys']
Run Code Online (Sandbox Code Playgroud)
非pythonic版本将是:
input_list = [u'12', u'23', u'hello', u'15', u'guys']
non_numeric_found=False
res = []
for e in input_list:
if not non_numeric_found and e.isnumeric():
continue
non_numeric_found=True
res.append(e)
Run Code Online (Sandbox Code Playgroud)
有什么建议可以更好地实现这个?
你可以使用itertools.dropwhile:
import itertools
input_list = [u'12', u'23', u'hello', u'15', u'guys']
res = list(itertools.dropwhile(lambda s: s.isdigit(), input_list))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |