为了账号安全,请及时绑定邮箱和手机立即绑定

带条带的可迭代链

带条带的可迭代链

GCT1015 2021-09-24 16:47:19
是否可以在不诉诸列表理解的情况下剥离下面的可迭代对象?>>> values=f.df['AvailableInTerritories'].tolist()>>> values['AU, CA,GB,US', 'AU, CA, GB, US', 'AU, AT, CA, GB, US', 'AU, CA, GB, US', 'AU, CA, GB, US']>>> list_separator=','>>> [item.strip() for item in itertools.chain.from_iterable((str(_val).split(list_separator) for _val in values))]['AU', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US', 'AU', 'AT', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US']
查看完整描述

6 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

您实际上不需要itertools.chain,还有另一种更清洁和有效的解决方案:

print([x for i in values for x in i.split(', ')])

输出:

['AU', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US', 'AU', 'AT', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US']



查看完整回答
反对 回复 2021-09-24
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

一种使用方式 re.split


import re

print (re.split(',\s*', ','.join(values)))

#['AU', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US', 'AU', 'AT', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US', 'AU', 'CA', 'GB', 'US']



查看完整回答
反对 回复 2021-09-24
  • 6 回答
  • 0 关注
  • 220 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信