【问题标题】:Python - split list element containing character (e.g. /,[]) and create new elements [duplicate]Python - 拆分包含字符的列表元素(例如/,[])并创建新元素[重复]
【发布时间】:2020-03-23 09:35:00
【问题描述】:

我有一个看起来像这样的列表:

test = ['bla bla','affect /affected / affecting']
print(test)

我想在列表中创建新元素,方法是将那些是一个元素但通过“/”符号分隔的元素。

例如在这种情况下所需的输出:

test_new = ['bla bla','affect','affected','affecting']

我该怎么做?

编辑:列表可以有多个元素,并且并非所有元素都有“/”符号

【问题讨论】:

  • test 是否总是一个只有一个项目的列表...?
  • "....通过分隔 一个元素但..."的元素。最好发布一个包含不是一个元素的元素的示例,以展示您在最一般的情况下想要做什么。
  • 列表不能有多个项目

标签: python


【解决方案1】:

您可以在'/'strip 上使用列表理解和split 来删除空格(假设您有多个字符串,作为一个列表):

[j.strip() for i in test for j in i.split('/')]
# ['affect', 'affected', 'affecting']

【讨论】:

  • 我收到一个错误:AttributeError: 'list' object has no attribute 'split'
  • 如果 test 是一个列表(如您的问题所示),这很好用 @adrCoder
【解决方案2】:
testEntry=test[0]
testEntry=test.replace(' ','')
test=testEntry.split('/')

【讨论】:

  • 我想在整个列表中进行,而不仅仅是一个元素。某些元素可能不包含“/”
  • 请不要只发布代码作为答案,还要说明您的代码的作用以及它如何解决问题。带有解释的答案通常质量更高,更有可能吸引投票。
猜你喜欢
  • 2018-11-25
  • 1970-01-01
  • 1970-01-01
  • 2014-06-02
  • 1970-01-01
  • 2020-11-13
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
相关资源
最近更新 更多