每次写 Python 都会忘记该怎么写,最后只能去 Stack Overflow 查?我也一样。时间一长,这让人厌倦。

这 15 个 Python 技巧和窍门,可以帮你提高效率。

1. 交换值





x, y = 1, 2print(x, y)x, y = y, xprint(x, y)
2. 字符串列表合并为一个字符串



sentence_list = ["my", "name", "is", "George"]sentence_string = " ".join(sentence_list)print(sentence_string)
3. 将字符串拆分为子字符串列表



sentence_string = "my name is George"sentence_string.split()print(sentence_string)
4. 通过数字填充初始化列表


[0]*1000 # List of 1000 zeros [8.2]*1000 # List of 1000 8.2's
5. 字典合并



x = {'a': 1, 'b': 2}y = {'b': 3, 'c': 4}z = {**x, **y}
6.反转字符串


name = "George"name[::-1]
7. 从函数返回多个值







def get_a_string():  a = "George"  b = "is"  c = "cool"  return a, b, csentence = get_a_string()(a, b, c) = sentence
8. 列表解析式


a = [1, 2, 3]b = [num*2 for num in a] # Create a new list by multiplying each element in a by 2
9. 遍历字典



m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} for key, value in m.items():  print('{0}: {1}'.format(key, value))
10. 同时遍历列表的索引和值



m = ['a', 'b', 'c', 'd']for index, value in enumerate(m):  print('{0}: {1}'.format(index, value))
11. 初始化空容器




a_list = list()a_dict = dict()a_map = map()a_set = set()
12. 删除字符串两端的无用字符




name = "  George "name_2 = "George///"name.strip() # prints "George"name_2.strip("/") # prints "George"
13. 列表中出现最多的元素


test = [1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4]print(max(set(test), key = test.count))
14. 检查对象的内存使用情况



import sysx = 1print(sys.getsizeof(x))
15. 将 dict 转换为 XML


from xml.etree.ElementTree import Elementdef dict_to_xml(tag, d):    '''    Turn a simple dict of key/value pairs into XML    '''    elem = Element(tag)    for key, val in d.items():        child = Element(key)        child.text = str(val)        elem.append(child)    return elem