您的位置:

使用Python实现字符串分割成列表

一、Python中的split方法

在Python中分割字符串最常用的方法是使用字符串对象的split方法。该方法会将字符串按照指定的分隔符进行分割,然后返回一个分割后的字符串列表。

    str = "apple,banana,orange"
    fruits = str.split(",")
    print(fruits)

以上代码输出:['apple', 'banana', 'orange']

split方法还可以指定分割次数,如下:

    str = "apple,banana,orange,peach"
    fruits = str.split(",", 2)
    print(fruits)

该代码输出:['apple', 'banana', 'orange,peach'],分割出3个子串,其中第3个子串还包含了逗号。

二、使用正则表达式分割字符串

如果需要更加灵活的字符串分隔规则,可以使用正则表达式来分割。Python中的re模块提供了与正则表达式相关的功能。

    import re
    str = "apple,banana.orange"
    fruits = re.split(",|\.", str)
    print(fruits)

以上代码输出:['apple', 'banana', 'orange'],使用逗号或点号进行分隔。

三、去除分割后的空白字符

使用split方法分割字符串时,如果原字符串中含有空格或制表符等空白字符,分割后会得到包含空白字符的子串。这时可以使用strip方法去掉空白字符。

    str = "apple, banana,   orange  "
    fruits = str.split(",")
    fruits = [x.strip() for x in fruits]
    print(fruits)

以上代码输出:['apple', 'banana', 'orange'],strip方法去除了空格。

四、将字符串分割成多维列表

如果原字符串是一个多维的字符串列表,可以使用列表生成式和split方法将其分割并转换成多维列表。

    str = "apple|10\nguava|20\norange|30"
    fruits = [x.split("|") for x in str.split("\n")]
    print(fruits)

以上代码输出:[['apple', '10'], ['guava', '20'], ['orange', '30']],将字符串列表转换成多维列表格式。

五、将字符串分割成字典

如果原字符串形式是键、值对的字符串,可以使用split方法和字典生成式将其分割并转换成字典。

    str = "name:Tom,age:18,gender:male"
    d = {x.split(":")[0]:x.split(":")[1] for x in str.split(",")}
    print(d)

以上代码输出:{'name': 'Tom', 'age': '18', 'gender': 'male'},将字符串转换成字典格式。