【问题标题】:Splitting a element in a list into two elements?将列表中的元素拆分为两个元素?
【发布时间】:2017-04-25 06:21:49
【问题描述】:

假设我有一个列表,其中一个元素是 ["1-11"] 是否可以将元素变成 ["1", "11"]?

谢谢

【问题讨论】:

  • my_list = my_list[0].split("-")?

标签: python list split


【解决方案1】:

你可以从 (-) 拆分它:

li ["1-11"] 
li = li[0].split("-")

输出:

['1', '11']

【讨论】:

  • 这可能会也可能不会满足 OP 的需求。我有一半希望他们说“好的,但是如果我想把 ["1", "2-3", "4-5"] 变成 ["1", "2", "3", "4", "5"] 怎么办?”在这种情况下,对单个元素进行拆分是不好的。
  • 我只是针对 OP 提到的具体问题给出了解决方案。
  • 确实,这是一个很好的解决方案……我只希望 OP 提供更多的测试用例。
【解决方案2】:

由于您有 list 类型的初始对象,因此实现此目的的更通用方法是:

>>> my_list = ["1-11", "2-22"]  # List that holds multiple values of given format
>>> [sub_item for item in my_list for sub_item in item.split("-")]
['1', '11', '2', '22']

【讨论】:

    【解决方案3】:

    希望有帮助

    data = ["1", "1-2", "3-4", "4-5","6"]
    
    str = "-".join(data)   // "1-1-2-3-4-4-5-6"
    
    result = str.split("-")   // ["1", "1", "2", "3", "4", "4", "5", "6"]
    
    1. 用拆分指示符(在本例中为“-”)加入列表,变成一个完整的字符串,如

    “1-1-2-3-4-4-5-6”

    1. 使用拆分指示符(“-”)拆分字符串以转换为列表。

    [“1”、“1”、“2”、“3”、“4”、“4”、“5”、“6”]

    基本上只需使用 JOIN() 将列表转换为字符串,然后使用 SPLIT() 转换回列表即可。

    【讨论】:

    • 添加一些解释,说明此答案如何帮助 OP 解决当前问题
    • @flamel2p 如果它是“-”和“,”的组合怎么办。你是怎么管理的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多