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

news/2024/7/7 22:33:46

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

1. 交换变量值

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

a, b = 5``, 10

print``(a, b) /``/``5``, 10

a, b = b, a

print``(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 Counter

a = 'abcdefg'

b = 'adcbgfb'

print``(Counter(a) =``= Counter(b))

|

5. 反转字符串、列表

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

|

a = 'dadabjdnakdmnkafad'

print``(a[::``-``1``])

num = 1343453535

print``(``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 = 6

print``(``4 < b < 7``)

print``(``1 =``= b < 9``)

|

8. 三元运算符

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

|

b = 'B'

c = 'C'

flag = True

a = b if flag else c

|

9.链式函数调用

|

def product(a, b):

return a * b

def add(a, b):

return a + b

b = True

print``((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)

|
最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:2028979958 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

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技巧的资料请关注python教程入门学习其它相关文章!
python福利教程领取方式:
1、点赞+评论(勾选“同时转发”)
2、关注小编。并私信回复关键字【19】
(一定要私信哦~点击我的头像就能看到私信按钮了)


http://lihuaxi.xjx100.cn/news/272526.html

相关文章

Redis基础、应用、第三方支持组件总结

这段时间一直在研究学习Redis的相关知识&#xff0c;现在大概做下总结吧首先&#xff0c;Redis的基础方面&#xff0c;不说配置&#xff0c;就单单说下Redis数据类型&#xff1a;Redis 五大数据类型有String 类型&#xff0c;Hash 类型&#xff0c;List 类型&#xff0c;Set 类…

预训练模型ProphetNet:根据未来文本信息进行自然语言生成

作者 | 刘大一恒、齐炜祯、晏宇、宫叶云、段楠、周明来源 | 微软研究院AI头条&#xff08;ID:MSRAsia&#xff09;编者按&#xff1a;微软亚洲研究院提出新的预训练模型 ProphetNet&#xff0c;提出了一种新的自监督学习目标——同时预测多个未来字符&#xff0c;在序列到序列的…

nodejs安装、配置及开发工具

学了node一段时间&#xff0c;但是node的安装还是有一点迷糊。今天新换电脑&#xff0c;所以&#xff0c;需要从头开始&#xff0c;发现node的安装还是不顺畅&#xff0c;这篇随笔是之前学的时候写&#xff0c;但是今天再打开看的时候&#xff0c;发现其他好像没有什么内容&…

ICCV2021论文全汇总!附下载链接

大家好&#xff0c;对于CV领域的小伙伴&#xff0c;特别是从事研究的同学&#xff0c;我们需要不断去跟进一些新的研究成果&#xff0c;因为这些最新的成果&#xff0c;也许能够对当前的研究工作有思路上启发&#xff0c;又或许能够对现有的方案有质的变化&#xff01;因此&…

HP交换机配置命令

1.命名hostname 7-West-4F-2510 2.设置管理IPvlan 1ip address 192.168.41.123 255.255.255.03.修改支持的默认vlan数max-vlans 64max-vlans //修改vlan的数量&#xff0c;默认只有8个&#xff0c;修改后需重启后才可生效4.重启reload //重启交换机5.配置v…

一套简单通用的Java后台管理系统,拿来即用,非常方便(附项目地址)

点击上方“方志朋”&#xff0c;选择“设为星标”回复”666“获取新整理的面试文章作者&#xff1a;huanzi-qchcnblogs.com/huanzi-qch/p/11534203.html前言 这套Base Admin是一套简单通用的后台管理系统&#xff0c;主要功能有&#xff1a;权限管理、菜单管理、用户管理&#…

DOS批处理高级教程精选(六)

为什么80%的码农都做不了架构师&#xff1f;>>> 第五章 set命令详解 很久没发贴了,今天来写点讲BAT的新手教学贴! 在上一贴中我简单的介绍了一下SET设置自定义变量的作用,现在我来具体讲一下set的其他功能. 一、用set命令设置自定义变量 显示、设置或删除 cmd.exe …

冠军方案分享:ICPR 2020大规模商品图像识别挑战赛冠军解读

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达来源丨新智元编辑丨极市平台赛题介绍随着互联网技术和电子商务的迅猛发展&#xff0c;人们的购物方式逐步由传统实体店购物变为网络购物。为了充分满足客户海量、多样化的网…