前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中相见恨晚的技巧

Python中相见恨晚的技巧

原创
作者头像
Qwe7
发布2022-02-02 09:38:14
2750
发布2022-02-02 09:38:14
举报
文章被收录于专栏:网络收集网络收集

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

1. 交换变量值

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

代码语言:javascript
复制
a, b = 5, 10
print(a, b)   //5, 10
a, b = b, a
print(a, b)   //10, 5

Python

Copy

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

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

代码语言:javascript
复制
a = ['python', 'java', 'c++', 'go']
print(','.join(a))  //python,java,c++,go

Python

Copy

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

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

代码语言:javascript
复制
a = [1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4]
print(max(set(a), key = a.count))

Python

Copy

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

代码语言:javascript
复制
from collections import Counter

a = 'abcdefg'
b = 'adcbgfb'
print(Counter(a) == Counter(b))

Python

Copy

5. 反转字符串、列表

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

代码语言:javascript
复制
a = 'dadabjdnakdmnkafad'
print(a[::-1])

num = 1343453535
print(int(str(num)[::-1]))

a = [1,3,554,64,2]
print(a[::-1])

Python

Copy

6. 转置二维数组

代码语言:javascript
复制
origin = [['a', 'b'], ['c', 'd'], ['e', 'f']]
transposed = zip(*origin)
print(list(transposed ))

Python

Copy

7. 链式比较

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

代码语言:javascript
复制
b = 6
print(4 < b < 7)
print(1 == b < 9)

Python

Copy

8. 三元运算符

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

代码语言:javascript
复制
b = 'B'
c = 'C'
flag = True
a = b if flag else c

Python

Copy

9.链式函数调用

代码语言:javascript
复制
def product(a, b):
   return a * b

def add(a, b):
   return a + b

b = True
print((product if b else add)(5 ,7))

Python

Copy

10. for-else 语法

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

代码语言:javascript
复制
a = [1, 2, 3, 4, 5]
for el in a:
    if(el == 0)
       print('找到 0 了')
else:
    print('没有找到 0')

Python

Copy

11. 合并字典

代码语言:javascript
复制
d1 = {'a': 1}
d2 = {'b': 2}

print(**d1, **d2)  # python3.5支持

print(dict(d1.items() | d2.items()))

d1.update(d2)
print(d1)

Python

Copy

12. 移除列表中重复元素

代码语言:javascript
复制
items = [2,2,3,4,1]
print(list(set(items)))

Python

Copy

13. **kwargs

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

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

代码语言:javascript
复制
dictionary = {'a': 1, 'b': 2}

def func(**kwargs)
  for key in kwargs:
     print('key:', key, 'value:',kwargs[key])

Python

Copy

14. 列表推导式

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

代码语言:javascript
复制
numbers = [1, 2, 3, 4, 5, 6]
y = [x for x in numbers if x % 2 == 0]
print(y)   //[2, 4, 6]

Python

Copy

15. map函数

代码语言:javascript
复制
x = [1, 2, 3]
y = map(lambda x : x + 1 , x)
print(y)  //[2, 3, 4]

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 交换变量值
  • 2. 将列表中所有元素组合成字符串
  • 3. 查找列表中频率最高的值
  • 4. 检查两个字符串是不是由相同字母打乱顺序组成
  • 5. 反转字符串、列表
  • 6. 转置二维数组
  • 7. 链式比较
  • 8. 三元运算符
  • 9.链式函数调用
  • 10. for-else 语法
  • 11. 合并字典
  • 12. 移除列表中重复元素
  • 13. **kwargs
  • 14. 列表推导式
  • 15. map函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com