【问题标题】:Python Joining List and adding and removing charactersPython加入列表和添加和删除字符
【发布时间】:2019-05-11 22:15:38
【问题描述】:

我有一个列表,我需要 .join 作为字符串并附加字符

my_list = ['3.3.3.3', '2.2.2.3', '2.2.2.2']

my_list.append(')"')
my_list.insert(0,'"(')

hostman = '|'.join('{0}'.format(w) for w in my_list)

#my_list.pop()
print(hostman)
print(my_list)

我的输出 = "(|3.3.3.3|2.2.2.3|2.2.2.2|)"

我需要输出为 = "(3.3.3.3|2.2.2.3|2.2.2.2)"

我怎样才能去掉第一个和最后一个 |从字符串

【问题讨论】:

    标签: python


    【解决方案1】:

    你让它变得比它需要的更难。您可以直接在列表中使用join()

    my_list = ['3.3.3.3', '2.2.2.3', '2.2.2.2']
    s = '"(' + '|'.join(my_list) + ')"'
    
    # s is "(3.3.3.3|2.2.2.3|2.2.2.2)"
    # with quotes as part of the string
    

    或者如果你喜欢format:

    s = '"({})"'.format('|'.join(my_list))
    

    【讨论】:

    • 经典 XY 问题的好答案。
    • 感谢您的回复,但我只收到 (3.3.3.3|2.2.2.3|2.2.2.2)
    • 我需要它是“(3.3.3.3|2.2.2.3|2.2.2.2)”,因为我正在瞻博网络防火墙上搜索匹配命令
    • @kbirds30 如果您需要它们成为字符串的一部分,您可以添加引号。见编辑。
    • 很酷,我用 s = ' "({})" '.format('|'.join(my_list)) 得到了它,谢谢很多人要了我的命
    【解决方案2】:

    试试这个:

    hostman = "("+"|".join(my_list)+")"
    

    输出

    '(3.3.3.3|2.2.2.3|2.2.2.2)'
    

    【讨论】:

    • 感谢您的回复,我使用 s = ' "({})" '.format('|'.join(my_list)) 得到它
    猜你喜欢
    • 2014-09-07
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2012-03-07
    相关资源
    最近更新 更多