实用代码
字符串的翻转
py
str1 = 'abcd efgh'
print(str1[::-1])
# hgfe dcbapy
from functools import reduce
str1 = 'abcd efgh'
print(reduce(lambda x,y:y+x, str1))
# hgfe dcba单词大小写
py
str1 = 'abcd efgh'
print(str1.title()) # 单词首字母大写
print(str1.upper()) # 所有字母大写
print(str1.capitalize()) # 字符串首字母大写
# Abcd Efgh
# ABCD EFGH
# Abcd efgh字符串的拆分
py
str1 = 'abcd efgh ijkl'
str2 = 'abcd/efgh/ijkl'
str3 = ' abcd efgh ijkl '
print(str1.split()) # 默认按 空格 拆分
# ['abcd', 'efgh', 'ijkl']
print(str2.split('/'))
print(str3)
print(str3.strip()) # 去除两头空格
# abcd efgh ijkl将列表中的字符串合并
py
str1 = ['a', 'b', 'c']
print(''.join(str1))
# abc字符串首字母大写,其余保持不变
py
str1 = 'aBcDeF'
print("".join(str1[:1].upper() + str1[1:]))
# ABcDeF过滤字符串
py
import re
str1 = 'abcd/efgh/ijkl'
r1 = re.split('/', str1)
r2 = ''.join(r1)
print(r1)
print(r2)
# ['abcd', 'efgh', 'ijkl']
# abcdefghijkl寻找字符串中唯一的元素
对于唯一值的筛查,可以利用 set 无序集合
- 字符串筛查
py
str1 = 'bcdeee aaaaaaaaaa'
print(''.join(set(str1)))
# adce b- 列表筛查
py
str1 = ['a8', 'bc', 'cc', 'cc']
print(list(set(str1)))
# ['cc', 'bc', 'a8']将元素进行重复
- 乘法实现
py
str1 = 'a'
print(str1 * 5)
# aaaaa
list1 = ['ab', 'cd', 'ef']
print(list1 * 2)
# ['ab', 'cd', 'ef', 'ab', 'cd', 'ef']- 加法实现
py
str1 = 'a'
print(str1 * 5)
# aaaaa
list1 = ['ab', 'cd', 'ef']
print(list1 * 2)
# ['ab', 'cd', 'ef', 'ab', 'cd', 'ef']
r1 = ''
r2 = []
for i in range(2):
r1 += str1
r2.extend(list1)
print(r1)
print(r2)
# aa
# ['ab', 'cd', 'ef', 'ab', 'cd', 'ef']基于列表的扩展
py
list1 = ['ab', 'cd', 'ef']
print([2*x for x in list1])
# ['abab', 'cdcd', 'efef']- 列表展开
py
list1 = [
[1,2,3],
[1,2,3,4],
[1,2,3,4,5],
]
print([i for k in list1 for i in k])
# [1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5]二值交换
py
a = 1
b = 2
a, b = b, a
print(a, b)
# 2 1py
a = 1
b = 2
c = a
a = b
b = c
print(a, b)
# 2 1统计列表中元素的频率
py
from collections import Counter
list1 = [1,1,2,2,3,3,3,3,3,3,3,]
count = Counter(list1)
print(count)
print(count[1])
print(count.most_common(1))
# Counter({3: 7, 1: 2, 2: 2})
# 2
# [(3, 7)]代码执行消耗时间
py
import time
start = time.time()
num = 0
for i in range(1000):
num = i
print(i, '消耗时间:', time.time() - start, 's')
print('总消耗时间:', time.time() - start, 's')检查对象的内存占用情况
py
import sys
str1 = 'a'
str2 = 'abcd'
print(sys.getsizeof(str1))
print(sys.getsizeof(str2))
# 50
# 53在python中可以使用sys.getsizeof来查看元素所占内存的大小
字典的合并
py
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
r1 = {**dict1, **dict2}
print(r1)
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}py
dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
dict1.update(dict2)
print(dict1)
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}随机采样
py
import random
str1 = 'abcdefgabc'
r1 = random.sample(str1, 2)
print(r1)
# ['b', 'b']py
import random
list1 = [1,2,3,4,5,6]
r1 = random.sample(list1, 2)
print(r1)
# [3, 5, 6]检查唯一性
通过检查列表长度是否与set后的列表长度一致,来判断列表中的元素是否是独一无二的。
py
list1 = [1,2,3,4,5,6]
print(len(list1) == len(set(list1)))
# True
list2 = [1,2,3,4,5,6, 6]
print(len(list1) == len(set(list1)))
# Truepy
list1 = [1,2,3,4,5,6, 6, 666, 666]
print(len(list1) == len(set(list1)))
# False