【问题标题】:How to append pipe delimiter in string array in python如何在python的字符串数组中附加管道分隔符
【发布时间】:2017-11-04 17:12:30
【问题描述】:

我在 python 中有一个字符串数组,我正在循环遍历每个值并尝试使用下面的代码附加 ('|') 符号。但它没有按预期附加

result_list = []
new_value = 'iek,33833,,sdfd,lope'
my_list = ['abc,1234,,ickd,sold', 'yeje,38393,,dkdi,eole', 'euei,38393,,idkd,dikd']

for val in my_list:
  result_list.append(val + '|')

res = result_list.append(new_value) + '|')
print res

我正在尝试最后打印包含新字符串的字符串列表。但它给了我以下错误:

TypeError:只能将列表(不是“str”)连接到列表

示例输出:

abc,1234,,ickd,sold|yeje,38393,,dkdi,eole|euei,38393,,idkd,dikd|iek,33833,,sdfd,lope|

非常感谢您的帮助!

【问题讨论】:

    标签: python arrays


    【解决方案1】:

    使用列表推导添加|,然后添加join()

    ''.join([x+'|' for x in my_list])
    
    # abc,1234,,ickd,sold|yeje,38393,,dkdi,eole|euei,38393,,idkd,dikd|
    

    仅使用'|'.join() 不会为您提供所需的最终|

    【讨论】:

      【解决方案2】:

      这会直接给你结果。

      '|'.join(my_list) + '|'
      

      【讨论】:

      • 那不会在末尾添加|
      • 这把'|'在所有项目之间,如果最后还需要,可以使用 '|'.join(my_list) + '|'或andrew_reece的以下回答
      【解决方案3】:

      不需要迭代,可以使用join()来实现。

      my_list = ['abc,1234,,ickd,sold', 'yeje,38393,,dkdi,eole', 'euei,38393,,idkd,dikd']
      
      print '|'.join(my_list)
      

      输出

      abc,1234,,ickd,sold|yeje,38393,,dkdi,eole|euei,38393,,idkd,dikd

      【讨论】:

      • 谢谢马赫什。我正在尝试将新字符串添加到现有数组中,但它给了我一个错误。我已经更新了我的费用。你能帮忙吗
      • @learnjquery 你得到什么错误?你能更新一下吗
      • 我收到此错误 - TypeError: can only concatenate list (not "str") to list
      • 您必须附加到现有列表,即 my_list 而不是字符串。检查它是否有效。
      • No.. 我不想在 my_list 中追加,因为 result_list 包含新的格式化值,其中包含管道分隔符,我想再添加一个字符串,即 new_value,末尾带有管道分隔符
      【解决方案4】:
      result_list = []
      my_list = ['abc,1234,,ickd,sold', 'yeje,38393,,dkdi,eole', 'euei,38393,,idkd,dikd']
      
      for val in my_list:
          result_list.append(str(val)+"|")
          # result_list.append()
      
      print ''.join(result_list)
      

      【讨论】:

      • 谢谢拉娜。在迭代我的列表后,我试图在我现有的字符串数组上添加一些新值。但它给了我连接列表错误。我已经更新了我的帖子。你能请我解决这个问题吗
      • 在 for 循环中使用 for val in my_list: ...: result_list.append(val) ...: result_list.append('|') 然后如果你想 new_value 使用 result_list.append( new_value) 然后 result_list.append('|') 就可以了。谢谢
      猜你喜欢
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-15
      • 1970-01-01
      • 2010-09-14
      • 2012-02-19
      相关资源
      最近更新 更多