方法中的单个字符串或字符串列表

2024-05-02 12:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经碰到过好几次了。我正在处理很多可以接受字符串列表的方法。有几次我意外地传递了一个字符串,它被分解成一个列表,每个字符都被使用,这不是期望的行为。

def test(a,b):
    x = []
    x.extend(a)
    x.extend(b)
    return x

x = [1,2,3,4]

我不想发生的事:

test(x,'test')
[1, 2, 3, 4, 't', 'e', 's', 't']

我不得不使用一种奇怪的语法:

test(x,['list']) 

我希望这些能含蓄地发挥作用:

test(x,'list')
[1, 2, 3, 4, 'test']

test(x,['one', 'two', 'three'])
[1, 2, 3, 4, 'one', 'two', 'three']

我真的觉得有一个“Python”的方法来做这个或是一些涉及鸭子打字的事情,但我看不出来。我知道我可以使用isinstance()来检查它是否是字符串,但我觉得有更好的方法。

编辑:我正在使用Python2.4.3


Tags: 方法字符串test列表returndef语法字符