Python中相见恨晚的技巧(记得收藏)

时间:2021-05-22

话不多说,直接开干,攒了很久!

1. 交换变量值

这个应该比较简单,但是日常用很容易忽略。

a, b = 5, 10print(a, b) //5, 10a, b = b, aprint(a, b) //10, 5

2. 将列表中所有元素组合成字符串

这个其实也是一个基本语法

a = ['python', 'java', 'c++', 'go']print(','.join(a)) //python,java,c++,go

3. 查找列表中频率最高的值

感觉用 Python 刷算法题是不是很爽?

a = [1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4]print(max(set(a), key = a.count))

4. 检查两个字符串是不是由相同字母打乱顺序组成

from collections import Countera = 'abcdefg'b = 'adcbgfb'print(Counter(a) == Counter(b))

5. 反转字符串、列表

这个用 Java 也是一句话就可以实现

a = 'dadabjdnakdmnkafad'print(a[::-1])num = 1343453535print(int(str(num)[::-1]))a = [1,3,554,64,2]print(a[::-1])

6. 转置二维数组

origin = [['a', 'b'], ['c', 'd'], ['e', 'f']]transposed = zip(*origin)print(list(transposed ))

7. 链式比较

这个比较符合数学上的比较习惯

b = 6print(4 < b < 7)print(1 == b < 9)

8. 三元运算符

其实 Python 中是没有三元运算符的,不过我们可以用另外一种方式替代:

b = 'B'c = 'C'flag = Truea = b if flag else c

9.链式函数调用

def product(a, b): return a * bdef add(a, b): return a + bb = Trueprint((product if b else add)(5 ,7))

10. for-else 语法

注意不是 if-else,而是 for 循环可以使用 else:

a = [1, 2, 3, 4, 5]for el in a: if(el == 0) print('找到 0 了')else: print('没有找到 0')

11. 合并字典

d1 = {'a': 1}d2 = {'b': 2}print(**d1, **d2) # python3.5支持print(dict(d1.items() | d2.items()))d1.update(d2)print(d1)

12. 移除列表中重复元素

items = [2,2,3,4,1]print(list(set(items)))

13. **kwargs

可变长参数,是一个字典。

词典对象前面的双星号可以让你把该词典的内容作为命名参数输入到函数中。词典的秘钥是参数名,值是传递给函数的值。你甚至不需要称它为 kwargs!

dictionary = {'a': 1, 'b': 2}def func(**kwargs) for key in kwargs: print('key:', key, 'value:',kwargs[key])

14. 列表推导式

可以用一行代码完全列表中的数据操作

numbers = [1, 2, 3, 4, 5, 6]y = [x for x in numbers if x % 2 == 0]print(y) //[2, 4, 6]

15. map函数

x = [1, 2, 3]y = map(lambda x : x + 1 , x)print(y) //[2, 3, 4]

以上就是Python中相见恨晚的技巧(记得收藏)的详细内容,更多关于python技巧的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章