Python字符串的15个基本操作(小结)

(编辑:jimmy 日期: 2024/12/26 浏览:2)

1. 字符串的翻转

利用切片

str1 = "hello world!"
print(str1[::-1])

利用reduce函数实现

from functools import reduce
str1 = "hello world!"
print(reduce(lambda x, y : y+x, str1))

2. 判断字符串是不是回文串

str1 = "123455"
def fun(string):
  print("%s" % string == string[::-1] and "YES" or "NO")
if __name__ == '__main__':
  fun(str1)

3. 单词大小写

str1 = "i love you!"
print(str1.title())# 单词首字母大写
print(str1.upper())# 所有字母大写
print(str1.lower())# 所有字母小写
print(str1.capitalize())# 字符串首字母大写

4. 字符串的拆分

可以使用split()函数,括号内可添加拆分字符,默认空格,返回的是列表

str1 = "i love you!"
print(str1.split())
# print(str1.split('\')) 则是以\为分隔符拆分

去除字符串两边的空格,返回的是字符串

str1 = " i love you! "
print(str1.strip())

5. 字符串的合并

返回的是字符串类型

str1 = ["123", "123", "123"]
print(''.join(str1))

6. 将元素进行重复

str1 = "python"
list1 = [1, 2, 3]
# 乘法表述
print(str1 * 2)
print(list1 * 2)
# 输出
# pythonpython
# [1, 2, 3, 1, 2, 3]

#加法表述
str1 = "python"
list1 = [1, 2, 3]
str1_1 = ""
list1_1 = []
for i in range(2):
  str1_1 += str1
  list1_1.append(list1)
print(str1_1)
print(list1_1)
# 输出同上

7. 列表的拓展

# 修改每个列表的值
list1 = [2, 2, 2, 2]
print([x * 2 for x in list1])
# 展开列表
list2 = [[1, 2, 3], [4, 5, 6], [1]]
print([i for k in list2 for i in k])
# 输出 [1, 2, 3, 4, 5, 6, 1]

8. 两个数交换

x = 1
y = 2
x, y = y, x

9. 统计列表中元素出现的频率

调用collections中的Counter类

from collections import Counter
list1 = ['1', '1', '2', '3', '1', '4']
count = Counter(list1)
print(count)
# 输出 Counter({'1': 3, '2': 1, '3': 1, '4': 1})
print(count['1'])
# 输出 3
print(count.most_common(1))# 出现最多次数的 
# [('1', 3)]

10. 将数字字符串转化为数字列表

str1 = "123456"
# 方法一
list_1 = list(map(int, str1))
#方法二
list_2 = [int(i) for i in str1]

11. 使用enumerat()函数获取索引数值对

str1 = "123456"
list1 = [1, 2, 3, 4, 5]
for i, j in enumerate(str1):
  print(i, j)
'''
输出
0 1
1 2
2 3
3 4
4 5
5 6
'''
str1 = "123456"
list1 = [1, 2, 3, 4, 5]
for i, j in enumerate(list1):
  print(i, j)
# 输出同上

12. 计算代码执行消耗的时间

import time
start = time.time()
for i in range(1999999):
  continue
end = time.time()
print(end - start)
# 输出 0.08042168617248535

13. 检查对象的内存占用情况

sys.getsizeof()函数

import sys
str1 = "123456"
print(sys.getsizeof(str1))
# 输出 55

14. 字典的合并

dirt1 = {'a':2, 'b': 3}
dirt2 = {'c':3, 'd': 5}
# 方法一
combined_dict = {**dirt1, **dirt2}
print(combined_dict)
# 输出 {'a': 2, 'b': 3, 'c': 3, 'd': 5}
# 方法二
dirt1 = {'a':2, 'b': 3}
dirt2 = {'c':3, 'd': 5}
dirt1.update(dirt2)
print(dirt1)
# 输出同上

15. 检查列表内元素是不是都是唯一的

list1 = [1, 2, 3, 4, 5, 6]
print('%s' % len(list1) == len(set(list1)) and "NO" or "YES")

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。