Python编程:实用但不常见的技巧集锦

2 下载量 151 浏览量 更新于2024-08-28 1 收藏 650KB PDF 举报
"这篇文章介绍了17个不常见但实用的Python编程技巧,涵盖了变量交换、字符串操作、列表和字典的处理以及一些逻辑控制结构的高效使用方法。" 1. **交换变量值**:在Python中,交换两个变量的值可以非常简洁地通过元组赋值实现,如`a, b = b, a`。这种方式无需引入额外的临时变量。 2. **将一列表中的所有元素拼接成字符串**:可以使用`join()`方法,例如`''.join(list)`,它会将列表中的所有元素连接成一个字符串,元素之间没有空格。 3. **查找list中最高频率的值**:使用`collections.Counter`可以统计列表中各元素出现的频率,然后通过`most_common(1)`找到频率最高的值。 4. **检查两个单词是否是字谜**:创建两个单词的字母表,并比较它们的长度和包含的字母是否相同。可以使用`sorted()`对字母进行排序,然后比较排序后的字符串。 5. **反转字符串**:Python的切片操作可以轻松实现字符串反转,如`s[::-1]`。 6. **反转列表**:同样,列表的切片操作也能反转列表,如`my_list[::-1]`。 7. **转置2维数组**:对于二维列表,可以通过嵌套列表推导式来转置,如`zip(*my_matrix)`。 8. **链式比较**:Python允许连续比较,如`a < b < c`,这等价于`(a < b) and (b < c)`。 9. **链式函数调用**:Python的函数调用可以链式执行,比如`str.upper().strip()`,这在处理字符串时特别方便。 10. **复制列表**:注意浅拷贝与深拷贝的区别。简单的`copy()`或`[:]`创建的是浅拷贝,只复制一级引用;而`copy.deepcopy()`则创建深拷贝,复制整个对象结构。 11. **Dictionary Get**:字典的`get()`方法可以安全地获取键对应的值,如果键不存在,可以返回默认值,如`dict.get(key, default_value)`。 12. **按值排序字典**:Python3.7以后,字典保持了插入顺序。若需按值排序,可以先将字典转换为列表的元组形式,再进行排序,如`sorted(my_dict.items(), key=lambda x: x[1])`。 13. **For Else**:在`for`循环后跟`else`块,当循环正常结束(即未遇到`break`)时,`else`块的代码会被执行。 14. **将列表转换为逗号分隔的字符串**:可以使用`str.join()`方法,如`', '.join(my_list)`。 15. **合并字典**:使用`update()`方法可以合并两个字典,如`dict1.update(dict2)`,结果存储在`dict1`中。 16. **list中的最小和最大索引**:`min()`和`max()`函数结合`enumerate()`可以找到列表中最小和最大值的索引,如`min(my_list, key=my_list.index)`和`max(my_list, key=my_list.index)`。 17. **从列表中删除重复项**:使用`set()`可以快速去除列表中的重复元素,但会改变原有顺序,如`my_list = list(set(my_list))`。如果要保持原有顺序,可以使用列表推导式和`if not in`,如`[x for i, x in enumerate(my_list) if x not in my_list[:i]]`。 这些技巧在日常编程中都能提高效率,让代码更加简洁和高效。熟练掌握这些技巧,能够提升Python编程的技能水平。