簡體   English   中英

如何在列表理解中有條件地拆分和擴展?

[英]How to conditionally split and extend inside a list comprehension?

如何轉換此輸入:

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

到這個 output:

['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']

你不關心是否有逗號,拆分它總是會給出一個你可以迭代的列表

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

嘗試:

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

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

印刷:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM