六星源课堂:Python中相见恨晚的技巧
1. 交换变量值
这个应该比较简单,但是日常用很容易忽略。
当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?
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. 检查两个字符串是不是由相同字母打乱顺序组成
fromcollectionsimportCountera ='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.链式函数调用
defproduct(a, b):returna * bdefadd(a, b):returna + bb =Trueprint((productifbelseadd)(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}deffunc(**kwargs)forkey in kwargs:print('key:', key,'value:',kwargs[key])
14. 列表推导式
可以用一行代码完全列表中的数据操作
numbers=[1,2,3,4,5,6]y=[xforxinnumbersifx%2==0]print(y)//[2,4,6]
15. map函数
x=[1,2,3]y=map(lambdax :x+1,x)print(y)//[2,3,4]
以上就是本次分享的全部内容,想要学习编程的小伙伴们,欢迎前往六星源课堂,获取更多技能与教程~

