python – 方法中的单个字符串或字符串列表
发布时间:2021-03-30 17:11:33 所属栏目: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 – 生成Youtube音频的链接
- python – igraph:为什么add_edge函数如此缓慢地对add_edg
- python – 最终确保一些代码以原子方式运行,无论如何?
- python – 一个Flask装饰器怎么有参数?
- 使用带有嵌套查询的python MySQLDB SScursor
- Python-redis keys()返回字节对象列表而不是字符串
- Python Django:在视图中,最好是为对象添加属性还是创建数据
- python – OS X UDP发送错误:55没有可用的缓冲区空间
- python – Flask:如何在蓝图中的每个路径之前运行方法?
- python – 如何将列表或字符串解析为固定长度的块