【发布时间】:2013-05-05 09:25:40
【问题描述】:
假设我有一个列表 x:
x=['alfa[1]', 'bravo', ('charlie[7]', 'delta[2]'), 'echo[3]']
我想创建一个新列表,如果项目有一个,它会展平和删除括号内的数字。结果应该是:
x_flattened_bases = ['alfa', 'bravo', 'charlie', 'delta', 'echo']
这是我目前拥有的:
x_flattened_bases = []
for item in x:
if isinstance(item, tuple):
x_flattened_bases.extend([value.split('[')[0] for value in item)
else:
x_flattened_bases.append(item.split('[')[0])
列表中只有 1 级嵌套。
【问题讨论】:
-
有时越冗长的代码就越易读
-
6 行这对我来说似乎还不错 XD
-
告诉我们你得到了什么,我相信有人会帮助清理它
-
嵌套是否任意深?
标签: python nested tuples flatten