如何使用 lambda 拆分字符串/列表?
例如:
1.我有一个字符串123-456-789,我为它定义了一个函数lambda x: x == '-'并得到[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
2.我有一个列表['123', '-', '456', '-', '789'],我为它定义了一个函数lambda x: x == '-'并得到[['123'], ['456'], ['789']]
3.我有一个单词列表,['Сообщество', 'здесь', ',', 'чтобы', 'помочь', 'вам', 'с', 'конкретными', 'проблемами', 'по', 'программированию', ',', 'алгоритмам', ',', 'языкам', 'программирования', '.']我想删除标点符号,所以我设置lambda x: x in ',.'了结果:
[['社区','这里'],['to','帮助','你','与','具体','问题','on','编程'],['算法'] , ['语言', '编程']]
没有实现的例子:
items = '123-456-789'
parts = split_by_func(items, lambda x: x == '-')
print(parts)
# [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']
通过itertools.groupby实现示例:
测试: