由于Python的字符串不能更改,我想知道如何更有效地连接字符串?
我可以这样写:
s += stringfromelsewhere
或者像这样:
s = []
s.append(somestring)
# later
s = ''.join(s)
在写这个问题的时候,我发现了一篇关于这个话题的好文章。
http://www.skymind.com/~ocrow/python_string/
但它在Python 2.x中。,所以问题是Python 3中有什么变化吗?
你可以用不同的方法来做。
str1 = "Hello"
str2 = "World"
str_list = ['Hello', 'World']
str_dict = {'str1': 'Hello', 'str2': 'World'}
# Concatenating With the + Operator
print(str1 + ' ' + str2) # Hello World
# String Formatting with the % Operator
print("%s %s" % (str1, str2)) # Hello World
# String Formatting with the { } Operators with str.format()
print("{}{}".format(str1, str2)) # Hello World
print("{0}{1}".format(str1, str2)) # Hello World
print("{str1} {str2}".format(str1=str_dict['str1'], str2=str_dict['str2'])) # Hello World
print("{str1} {str2}".format(**str_dict)) # Hello World
# Going From a List to a String in Python With .join()
print(' '.join(str_list)) # Hello World
# Python f'strings --> 3.6 onwards
print(f"{str1} {str2}") # Hello World
我通过以下文章创建了这个小摘要。
Python 3的f-Strings:改进的字符串格式化语法(指南)(还包括速度测试)
格式化字符串字面量
字符串连接和格式化
Python中的分割、连接和连接字符串
你可以用不同的方法来做。
str1 = "Hello"
str2 = "World"
str_list = ['Hello', 'World']
str_dict = {'str1': 'Hello', 'str2': 'World'}
# Concatenating With the + Operator
print(str1 + ' ' + str2) # Hello World
# String Formatting with the % Operator
print("%s %s" % (str1, str2)) # Hello World
# String Formatting with the { } Operators with str.format()
print("{}{}".format(str1, str2)) # Hello World
print("{0}{1}".format(str1, str2)) # Hello World
print("{str1} {str2}".format(str1=str_dict['str1'], str2=str_dict['str2'])) # Hello World
print("{str1} {str2}".format(**str_dict)) # Hello World
# Going From a List to a String in Python With .join()
print(' '.join(str_list)) # Hello World
# Python f'strings --> 3.6 onwards
print(f"{str1} {str2}") # Hello World
我通过以下文章创建了这个小摘要。
Python 3的f-Strings:改进的字符串格式化语法(指南)(还包括速度测试)
格式化字符串字面量
字符串连接和格式化
Python中的分割、连接和连接字符串