python-3.x 如何在列表解析中有条件地拆分和扩展?

wpx232ag  于 2022-11-19  发布在  Python
关注(0)|答案(2)|浏览(101)

如何转换此输入:

values = ['v1,v2', 'v3']

输出:

['v1', 'v2', 'v3']

没有列表理解的尝试有效:

values = ['v1,v2', 'v3']
parsed_values = []

for v in values:
    if ',' in v:
        parsed_values.extend(v.split(','))
    else:
        parsed_values.append(v)

print(parsed_values)    # ['v1', 'v2', 'v3']

尝试使用列表解析,但不起作用:

parsed_values = [_ for _ in [v.split(',') if ',' in v else v for v in values]]
# [['v1', 'v2'], 'v3']
w51jfk4q

w51jfk4q1#

你不在乎是否有逗号,对它进行拆分总是会给予一个可以迭代的列表

values = ['v1,v2', 'v3']
parsed_values = [word for value in values for word in value.split(",")]
print(parsed_values)
# ['v1', 'v2', 'v3']
ecbunoof

ecbunoof2#

请尝试:

values = ["v1,v2", "v3"]

values = ",".join(values).split(",")
print(values)

印刷品:

['v1', 'v2', 'v3']

相关问题