根据条件在列表中加入字符串?

时间:2019-05-07 12:41:03

标签: python python-3.x

我有一个以下格式的列表,

my_list = ['value1', 'value2#', 'value3#', 'value4', 'value5#']

我希望将这些值连接到#,谢谢

new_list = ['value1value2#' 'value3#' 'value4value5#']

3 个答案:

答案 0 :(得分:4)

您可以将所有内容加入并以“#”分隔

首先-您的列表格式错误,错过了逗号: 正确的方法是:

my_list = ['value1', 'value2#', 'value3#', 'value4', 'value5#']

如果您未对此进行更正,则列表将在内部连接(联接)字符串,因此您将拥有3个值而不是5个值。

秒-如果单词以“#”结尾没关系,那么您可以例如将所有内容连接起来并用“#”分割:

[s+"#" for s in "".join(my_list).split("#") if s]

答案 1 :(得分:2)

 my_list = ['value1', 'value2#' 'value3#' 'value4', 'value5#']
 [item+"#" for item in "".join(my_list).split("#")]

输出:['value1value2#', 'value3#', 'value4value5#']

答案 2 :(得分:1)

您可以组合字符串util Dotenv::load(__DIR__.'/../');

endswith('#')

输出:

my_list = ['value1', 'value2#', 'value3#', 'value4', 'value5#', 'value6']
new_list = []

cur = ''
for s in my_list:
    cur += s
    if s.endswith('#'):
        new_list.append(cur)
        cur = ''

if cur != '':  # add the rest
    new_list.append(cur)