【发布时间】:2011-03-08 22:19:40
【问题描述】:
有没有办法在 python 中将一个字符串添加到另一个字符串的末尾?例如
String1 = 'A' String2 = 'B'
我想要 String3 == 'AB'
【问题讨论】:
标签: python string python-3.x
有没有办法在 python 中将一个字符串添加到另一个字符串的末尾?例如
String1 = 'A' String2 = 'B'
我想要 String3 == 'AB'
【问题讨论】:
标签: python string python-3.x
python 中的字符串连接很简单
a = "A"
b = "B"
c = a + b
print c
> AB
我对三个操作进行了基准测试,每个操作执行 1m:
c = a + b
c = '%s%s' % (a,b)
c = "{0}{1}".format(a, b)
结果是:
+: 0.232225275772
%s: 0.42436670365
{}: 0.683854960343
即使有 500 个字符串,+ 仍然是迄今为止最快的。我的script is on ideone 和结果(对于 500 个字符字符串)是:
+: 0.82
%s: 1.54
{}: 2.03
【讨论】:
您可以使用最简单的版本:String3 = String1 + String2 或格式运算符(在 python3 中已弃用):String3 = '%s%s' % (String1, String2)
【讨论】:
String3 = "{0}{1}".format(String1, String2)。
在 Python 中,+ 运算符连接字符串:
>>> String3 = String1 + String2
>>> String3
'AB'
这是最简单的方法,通常也是正确的选择。但是,有时您可能需要更多 efficient string concatenation。
【讨论】:
在速度无关紧要的情况下,为了简单起见,您无法击败c=a+b 的易用性。如果速度确实很重要(例如,因为您要进行大量连续的串联),str.join()can be a little more efficient (code at ideone)。
+: 2.51
''.join([a,...z]): 0.2
append(): 2.05
据我所知,如果您在不接触中间产品的情况下进行连续连接,我最好将每个添加附加到列表中,然后一次加入所有内容。对于单个串联情况,a+b 仍然比a.join(b) 快
【讨论】:
你也可以试试 str.join():
>>>s1='a'
>>>s2='b'
>>>s3=''.join((s1,s2))
>>>s3
'ab'
如果你写的话:
>>>s3='WhatEver'.join((s1,s2))
>>>s3
'aWhatEverb'
【讨论】:
这是字符串连接的代码: `
String1 = "a"
String2 = "b"
String3 = String1 + String2
#String 3 would be ab
` 您可以将两个以上的字符串变量添加到一个字符串变量中。
【讨论】: