2011-01-21 54 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()