2011-01-21 55 views
4

如果X是一個字符串,但有一個簡單的方法來附加列表,但如果X是一個列表擴展它?我知道我可以簡單地測試一個對象是字符串還是列表,但我想知道是否有比這更快的方法?python擴展或追加列表適當

+3

的最快最簡單的方法是寫代碼次在以後不會強迫你這樣做。 – delnan 2011-01-21 15:58:14

+0

在這種特殊情況下不可能,我從後端系統繼承X,並且不會將單個對象作爲列表項傳遞。 – chrism 2011-01-21 16:00:01

回答

6

mylist.extend([X]如果類型(x)的== STR否則x)

或者也許,如果你想趕上不是字符串過於其他的東西相反會更安全:

MYLIST。延伸(x如果別的類型(X)==列表[X])

0

我不這麼認爲。 extend將任何迭代作爲輸入,字符串以及列表在python中是可迭代的。

0
buffer = ["str", [1, 2, 3], 4] 
myList = [] 

for x in buffer: 
    if isinstance(x, str): 
     myList.append(x) 
    elif isinstance(x, list): 
     myList.extend(x) 
    else: 
     print("{} is neither string nor list".format(x)) 

一種更好的方式將使用try-except代替isinstance()