如果X是一个字符串,是否有一种简单的方法来附加列表,但如果X是一个列表,是否可以扩展它?我知道我可以简单地测试一个对象是字符串还是列表,但我想知道是否有比这更快的方法?
答案 0 :(得分:6)
mylist.extend([x]如果type(x)== str else x)
或者如果你想要捕捉字符串以外的东西,反之亦然更安全:
mylist.extend(x if type(x)== list else [x])
答案 1 :(得分:0)
我不这么认为。 extend
将任何iterable作为输入,字符串和列表是python中的迭代。
答案 2 :(得分: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()