python – 方法中的单个字符串或字符串列表
发布时间:2021-03-30 17:08:57 所属栏目:Python 来源:互联网
导读:我已经遇到了这么多次.我正在处理很多可以接受字符串列表的方法.几次我不小心传递了一个字符串,它被分解成一个列表,并使用每个字符,这不是所需的行为. def test(a,b): x = [] x.extend(a) x.extend(b) return xx = [1,2,3,4] 我不想发生什么事情 test(x,test)
我已经遇到了这么多次.我正在处理很多可以接受字符串列表的方法.几次我不小心传递了一个字符串,它被分解成一个列表,并使用每个字符,这不是所需的行为. def test(a,b): x = [] x.extend(a) x.extend(b) return x x = [1,2,3,4] 我不想发生什么事情 test(x,'test') [1,4,'t','e','s','t'] 我必须诉诸一个奇怪的语法: test(x,['list']) 我想让这些工作隐含地工作: test(x,'list') [1,'test'] test(x,['one','two','three']) [1,'one','three'] 我真的觉得有一个“pythonic”的方式来做这个或涉及鸭打字的东西,但我看不到它.我知道我可以使用isinstance()来检查它是否是一个字符串,但我觉得有更好的方法. 编辑:我使用的是python 2.4.3 解决方法嗯,这可能很简单:>>> def a(*args): ... x=[] ... for i in args: ... if '__iter__' in dir(i): ... x+=list(i) ... else: ... x.append(i) ... return x ... >>> a(1,4) [1,4] >>> a(1,[3,4]) [1,4],'123') [1,'123'] >>> a(1,'123',1231,(1,4)) [1,1,4] (编辑:益阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – Pandas concat:ValueError:传递值的形状是blah
- 为什么python设计为str(无)返回’None’而不是空字符串?
- python – sqlalchemy将mixin列移动到最后
- 如何在Python中获取logging.FileHandler的文件名?
- Python可读性提示Java程序员
- python – 如何将Pandas列多索引名称作为列表
- python – 来自Windows的OpenCV构建错误“RC对象”
- python – 来自提及的Tweepy用户ID
- 如何将Python的GTK与gevent集成?
- python基于multiprocessing的多进程创建方法