如果X是一个字符串,是否有一种简单的方法来追加列表,但如果X是一个列表,则将其扩展?我知道可以简单地测试对象是字符串还是列表,但我想知道是否有比这更快的方法?
如果X是一个字符串,是否有一种简单的方法来追加列表,但如果X是一个列表,则将其扩展?我知道可以简单地测试对象是字符串还是列表,但我想知道是否有比这更快的方法?
mylist.extend( [x] if type(x) == str else x )
mylist.extend( x if type(x) == list else [x] )
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()
。我不这么认为。extend
可以接受任何可迭代对象作为输入,而在Python中字符串和列表都是可迭代对象。