How can I tell if a python variable is a string or a list?

后端 未结 8 1813
孤独总比滥情好
孤独总比滥情好 2020-12-02 19:45

I have a routine that takes a list of strings as a parameter, but I\'d like to support passing in a single string and converting it to a list of one string. For example:

8条回答
  •  不知归路
    2020-12-02 20:22

    Well, there's nothing unpythonic about checking type. Having said that, if you're willing to put a small burden on the caller:

    def func( *files ):
        for f in files:
             doSomethingWithFile( f )
    
    func( *['file1','file2','file3'] ) #Is treated like func('file1','file2','file3')
    func( 'file1' )
    

    I'd argue this is more pythonic in that "explicit is better than implicit". Here there is at least a recognition on the part of the caller when the input is already in list form.

提交回复
热议问题