Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
Python 字符串变列表/元组,字符串的分割和合并 - NOTEBOOK
Python 字符串变列表/元组,字符串的分割和合并
Python
Posted on 2023-05-15
摘要 : 字符串的分割 split() 和 合并 join()。
split() 方法将字符串拆分为列表。您可以指定分隔符,默认分隔符是任何空白字符。注释:若指定 max,列表将包含指定数量加一的元素。
join() 方法获取可迭代对象中的所有项目,并将它们连接为一个字符串。必须将字符串指定为分隔符。
拼接字符串时,也可以用 + 加号来拼接2个字符串,但如果【多次拼接时】性能差,因为每加一次,就会生成新的字符串对象(占据新的内存),而join会一次性计算最后结果。
使用 partition() 和 rpartition() 方法。
❱ 字符串的分割

split() 默认(换行、空格、制表符)
a = 'to be or not to be'
a.split()
# ['to', 'be', 'or', 'not', 'to', 'be']
a.split('be')
# ['to ', ' or not to ', '']


❱ 将字符串拆分为最多 2 个项目的列表

txt = "apple#banana#cherry#orange"
x = txt.split("#", 1)
print(x)

#['apple', 'banana#cherry#orange']



❱ 字符串的合并

a = ['to','be','or','not','to','be']
'_'.join(a)
# 'to_be_or_not_to_be'
b = ' '.join(a)
# 'to be or not to be'
# 拼接字符串时,也可以用 + 加号来拼接2个字符串,但如果【多次拼接时】性能差,因为每加一次,就会生成新的字符串对象(占据新的内存)
# 而join会一次性计算最后结果。


❱ 比较 + 和 join 的性能,结果是 join 时间更少

# 比较 + 和 join 的性能,结果是 join 时间更少
import time
time01 = time.time() #开始时间
a = ''
for i in range(100000):
a += 'sxt'
time02 = time.time()
print('运行时间'+str(time02-time01))

time01 = time.time() #开始时间
li = []
for i in range(100000):
li.append('sxt')
a = ''.join(li)
time02 = time.time()
print('运行时间'+str(time02-time01))
# 运行时间0.023515939712524414
# 运行时间0.012295961380004883


❱ 在使用字典作为迭代器时,返回的值是键,而不是值。

myDict = {"name": "Bill", "country": "USA"}
mySeparator = "TEST"
x = mySeparator.join(myDict)
print(x)

# nameTESTcountry



❱ 使用 partition() 和 rpartition() 方法。

txt = "I could eat bananas all day"
x = txt.partition("bananas")
print(x)

# ('I could eat ', 'bananas', ' all day')