小编典典

如何判断python变量是字符串还是列表?

python

我有一个例程,它将字符串列表作为参数,但是我想支持传递单个字符串并将其转换为一个字符串列表。例如:

def func( files ):
    for f in files:
        doSomethingWithFile( f )

func( ['file1','file2','file3'] )

func( 'file1' ) # should be treated like ['file1']

我的函数如何判断是否传入了字符串或列表?我知道有一个type函数,但是有“更pythonic”的方式吗?


阅读 308

收藏
2020-12-20

共1个答案

小编典典

好吧,检查类型并没有什么异常。话虽如此,如果您愿意给来电者带来一点负担:

def func( *files ):
    for f in files:
         doSomethingWithFile( f )

func( *['file1','file2','file3'] ) #Is treated like func('file1','file2','file3')
func( 'file1' )

我认为这比“隐式的要好于隐式的”更具Python风格。当输入已经是列表形式时,在此至少在调用方方面存在识别。

2020-12-20