从具有“+”字符的字符串创建字符串列表。使用“+”分隔列表

2024-09-28 17:30:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个示例输入字符串,如下所示:

med_str = 'Film-coated tablet + ALpha Chloro, Prolonged-release tablet + ALFU Dioxide'

我想创建一个由“+”分隔的字符串列表。预期输出:

med_str = ['Film-coated tablet', 'ALpha Chloro'], ['Prolonged-release tablet', 'ALFU Dioxide']

在某些情况下,可能只有一个“+”分隔字符串。示例:

new_str = 'Tablet + DEFLAZo'

预期输出:

new_str = ['Tablet', 'DEFLAZo']

如何在python中使用if-else来实现这一点,只要字符串中有/没有一个或多个用“+”分隔的元素,并且用逗号分隔,它就应该处理所有情况并创建一个单独的字符串列表。你知道吗


Tags: 字符串alpha示例列表release情况medfilm
3条回答

假设你的字符串总是有一个完整的巴黎数,下面是如何做到的:

med_str = 'Film-coated tablet + ALpha Chloro, Prolonged-release tablet + ALFU Dioxide'

cleaned = [s.strip() for s in med_str.replace('+',',').split(',')]
result = [[cleaned[i], cleaned[i+1]] for i in range(0, len(cleaned), 2)]
print(result)

输出:

[['Film-coated tablet', 'ALpha Chloro'], ['Prolonged-release tablet', 'ALFU Dioxide']]

使用第一个夹板(,)如果它成功的话,它会把列表分割成两个串接的不同列表,现在只需要用(+)分割就可以得到剩下的结果

med_str = 'Film-coated tablet + ALpha Chloro, Prolonged-release tablet + ALFU Dioxide'

final=[l.split("+") for l in med_str.split(",")]
print(final)

试试这个:

med_str = [i.split(" + ") for i in med_str.split(", ")] # Gives output as list of lists.

或者

med_str = tuple(i.split(" + ") for i in med_str.split(", ")) # Gives output as tuple of lists.

相关问题 更多 >