python是一门简洁而优雅的语言,在编程时,掌握一些小技巧,不仅可以帮助我们提高工作效率,也能让代码变得简洁,不论是自己还是别人,看起来都比较舒服。这篇文章会持续收录一些编程小技巧,提升自己的同时希望也能跟大家分享。
1. 变量值互换:
x, y = 1, 2
print(x, y)
x, y = y, x
print(x, y)
输出:
1 2
2 1
2. 一组字符串列表组合成一个长的字符串
str_list = ['I', 'like', 'python']
str_join = " ".join(str_list)
print(str_join)
输出:
I like python
3. 单个字符串分割成一组子字符串
str = 'I like python and java0'
print(str.split())
输出:
['I', 'like', 'python', 'and', 'java0']
4. 初始化由许多重复值组成的数组
print([0] * 10)
print([8.3] * 10)
输出:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[8.3, 8.3, 8.3, 8.3, 8.3, 8.3, 8.3, 8.3, 8.3, 8.3]
其中0就是重复的数字,1000是该数字重复出现的次数。
5. 两个字典的合并
x = {
'a' : 1, 'b' : 2}
y = {
'b' : 3, 'c' : 4}
z = {**x, **y}
print(z)
输出:
{
'a': 1, 'b': 3, 'c': 4}
可以看到合并后相同的键的值会被覆盖,不同的键则保留下来。
6. 字符串字符顺序颠倒
name = 'zhangsan'
print(name[::-1])
输出:
nasgnahz
7. 一个方程返回多个值
def get_a_string():
a = 'George'
b = 'is'
c = 'cool'
return a, b, c
a, b, c = get_a_string()
print(a, b, c)
输出:
George is cool
8. 列表操作:遍历列表的同时,将每个元素赋值到另一个列表中
a = [1, 2, 3]
b = [num * 2 for num in a if num is not 2]
print(b)
输出:
[2, 6]
可以看到,对a中每个元素可以进行多个操作,一是后面的if判断,二是前面的乘法操作,这是一个比较常用和方便的操作。
9. 字典迭代
d = {
'a' : 1, 'b' : 2, 'c' : 3}
for key, val in d.items():
print(key, val)
输出:
a 1
b 2
c 3
10. 列表迭代:enumerate,返回索引以及对于的元素
l = ['a', 'b', 'c']
for index, val in enumerate(l):
print(index, val)
输出:
0 a
1 b
2 c
11. 初始化空的容器
a_list = list()
a_dict = dict()
a_set = set()
12. 使用strip()函数移除末尾无用的字符
name1 = " Gkere "
name2 = "Gmerk///"
print(name1.strip())
print(name2.strip("/"))
输出:
Gkere
Gmerk
13. 找到数字中出现次数最多的元素
a = [1,2,3,4,5,3,2,2]
print(max(set(a), key=a.count))
输出:
2
14. 获取对象的内存使用量
import sys
x = 1
print(sys.getsizeof(x))
输出:
28
15. 将字典转化为XML
from dicttoxml import dicttoxml
d = {
'a': 1, 'b': 2, 'c': 3}
xml = dicttoxml(d, custom_root='test', attr_type=False)
print(xml)
输出:
b'<?xml version="1.0" encoding="UTF-8" ?><test><a>1</a><b>2</b><c>3</c></test>'
16. python列表操作中,extend和append的区别
l1 = [1, 2, 3]
l2 = [4, 5]
l1.extend(l2)
print(l1)
l3 = [1, 2, 3]
l4 = [4, 5]
l3.append(l4)
print(l3)
输出:
[1, 2, 3, 4, 5]
[1, 2, 3, [4, 5]]
可以看到两个方法的相似之处都是将新元素插入到后面,
不同之处在于extend方法只能传入list,并且将传入的list中的元素添加到原来的list中
append可以接受任何参数,并简单追加到list后面。
后面会持续更新。。。