2024-04-24 00:32:06 发布
网友
如果我有一个字符列表:
a = ['a','b','c','d']
如何将其转换为单个字符串?
a = 'abcd'
使用空字符串的join方法将所有字符串与中间的空字符串连接起来,如下所示:
join
>>> a = ['a', 'b', 'c', 'd'] >>> ''.join(a) 'abcd'
这在很多流行的语言中都有效,比如JavaScript和Ruby,为什么不在Python中呢?
>>> ['a', 'b', 'c'].join('') Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'list' object has no attribute 'join'
奇怪的是,在Python中,join方法位于str类上:
str
# this is the Python way "".join(['a','b','c','d'])
为什么join不像JavaScript或其他流行的脚本语言那样是list对象中的方法?这是Python社区如何思考的一个例子。由于join返回一个字符串,它应该放在string类中,而不是list类中,因此str.join(list)方法意味着:使用str作为分隔符将列表连接到一个新字符串中(在本例中,str是一个空字符串)。
list
str.join(list)
不知怎么的,过了一段时间我就爱上了这种思维方式。我可以抱怨Python设计中的很多事情,但不能抱怨它的一致性。
如果您的Python解释器是旧的(例如,1.5.2在一些旧的Linux发行版上很常见),那么您可能没有join()可用作任何旧string对象的方法,而您将需要使用string模块。示例:
join()
a = ['a', 'b', 'c', 'd'] try: b = ''.join(a) except AttributeError: import string b = string.join(a, '')
字符串b将是'abcd'。
b
'abcd'
使用空字符串的
join
方法将所有字符串与中间的空字符串连接起来,如下所示:这在很多流行的语言中都有效,比如JavaScript和Ruby,为什么不在Python中呢?
奇怪的是,在Python中,
join
方法位于str
类上:为什么
join
不像JavaScript或其他流行的脚本语言那样是list
对象中的方法?这是Python社区如何思考的一个例子。由于join返回一个字符串,它应该放在string类中,而不是list类中,因此str.join(list)
方法意味着:使用str
作为分隔符将列表连接到一个新字符串中(在本例中,str
是一个空字符串)。不知怎么的,过了一段时间我就爱上了这种思维方式。我可以抱怨Python设计中的很多事情,但不能抱怨它的一致性。
如果您的Python解释器是旧的(例如,1.5.2在一些旧的Linux发行版上很常见),那么您可能没有
join()
可用作任何旧string对象的方法,而您将需要使用string模块。示例:字符串
b
将是'abcd'
。相关问题 更多 >
编程相关推荐