簡體   English   中英

字符串列出python中的轉換

[英]string to list conversion in python

我有一個字符串。

s = '1989, 1990'

我想使用python將其轉換為list並且我希望輸出為,

s = ['1989', '1990']

有沒有最快的一個班輪方式相同?

使用列表推導

s = '1989, 1990'
[x.strip() for x in s.split(',')]

簡單易行。

此外,這已被問過很多次了!

使用拆分方法

>>> '1989, 1990'.split(', ')
['1989', '1990']

但你可能想:

  1. 使用替換刪除空格

  2. 由','拆分

因此:

>>> '1989, 1990,1991'.replace(' ', '').split(',')
['1989', '1990', '1991']

如果您的字符串來自用戶輸入,這將更好地工作,因為用戶可能忘記在逗號后命中空格。

調用split功能:

myList = s.split(', ')
print s.replace(' ','').split(',')

首先刪除空格,然后用逗號分割。

或者您可以使用正則表達式:

>>> import re
>>> re.split(r"\s*,\s*", "1999,2000, 1999 ,1998 , 2001")
['1999', '2000', '1999', '1998', '2001']

表達式\\s*,\\s*再次匹配零個或多個空白字符,逗號和零個或多個空白字符。

我為此創建了通用方法:

def convertToList(v):
    '''
    @return: input is converted to a list if needed
    '''
    if type(v) is list:
        return v
    elif v == None:
        return []
    else:
        return [v]

也許它對你的項目有用。

converToList(s)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM