【Python】25个好用到爆的一行Python代码,建议收藏
在学习Python
的过程当中,有很多复杂的任务其实只需要一行代码就可以解决,那么今天小编我就来给大家介绍20个实用的一行Python
代码,希望对大家能够有所帮助。
1.两个字典的合并
x = {'a': 1, 'b': 2}
y = {'c': 3, 'd': 4}
将两个字典合并起来,代码如下
x.update(y)
print(x)
output
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
2.两个列表的合并
x = ['a', 'b']
y = ['c', 'd', 'e']
将上面两个列表合并起来,代码如下
x.extend(y)
print(x)
output
['a', 'b', 'c', 'd', 'e']
当然除此之外,我们还有其他的方法来将两个列表合并起来,例如
x += y
print(x)
output
['a', 'b', 'c', 'd', 'e']
3.计算列表中元素出现的频率
主要是通过调用python
当中的collections
模块来实现,例如
from collections import Counter
my_list = ['a', 'b', 'b', 'a', 'a', 'a', 'c', 'c', 'b', 'd']
print(Counter(my_list).most_common())
output
[('a', 4), ('b', 3), ('c', 2), ('d', 1)]
若是我们想要出现频率最多的一个,也就是在上面代码的基础之上添加筛选第一个元素
的操作即可
print(Counter(my_list).most_common()[0])
output
('a', 4)
出现频率最多的是元素a
,总共出现了4次
当然要是在后面再添加一个[0]
,意思就是筛选出出现频率最多的元素
print(Counter(my_list).most_common()[0][0])
output
a
4.计算获得除法中的商和余数
一般我们若想取得除法当中的商和余数,一般是Python运算符号当中的//
和/
,而divmod
方法则可以让我们同时获得除法运算当中的商和余数,代码如下
quotient, remainder = divmod(37, 5)
print(quotient, remainder)
output
7 2
5.计算得到列表当中长度最长的字符串
words = ['Python', 'is', 'awesome']
print(max(words, key=len))
output
awesome
6.将列表中的顺序倒转
words = ['Python', 'is', 'awesome']
reverse_words = words[::-1]
print(reverse_words)
output
['awesome', 'is', 'Python']
7.文件的读与写
我们先将数据写入到文件当中
data = 'Python is awesome'
with open('file.txt', 'a', newline='\n') as f: f.write(data)
那我们从刚生成的文件当中读取刚写入的数据,代码就是这么来写
data = [line.strip() for line in open("file.txt")]
print(data)
output
['Python is awesome']
8.将字典当中的键值对位置调换
staff = {'Data Scientist': 'Mike', 'Django Developer': 'Dylan'}
staff = {i:j for j, i in staff.items()}
print(staff)
output
{'Mike': 'Data Scientist', 'Dylan': 'Django Developer'}
9.将嵌套列表合并为一个列表
假设我们有这样的一个列表
l = [[1, 2, 3], [4, 5], [6], [7, 8], [9]]
而我们最终希望列表能够是
[1, 2, 3, 4, 5, 6, 7, 8, 9]
我们可以这么来做
flattened_list = [item for sublist in l for item in sublist
print(flattened_list)
output
[1, 2, 3, 4, 5, 6, 7, 8, 9]
10.列表当中数据类型的转换
例如有下面的列表
['1', '2', '3']
我们要将其转换成整数类型,代码如下
print(list(map(int, ['1', '2', '3'])))
output
[1, 2, 3]
当然我们也可以将可以尝试转换成浮点数的类型,代码如下
print(list(map(float, ['1', 2, '3.0', 4.0, '5', 6])))
output
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
11.将列表转化成字典
cars = ['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo']
cars_dict = dict(enumerate(cars))
print(cars_dict)
output
{0: 'Audi', 1: 'BMW', 2: 'Ford', 3: 'Tesla', 4: 'Volvo'}
12.将列表当中的重复元素去除
list(set(['a', 'a', 'b', 'a', 'c']))
output
['a', 'b', 'c']
13.从列表中筛选出特定元素
cars = ['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo']
car_1 = [car for car in cars if car[0] == "A"]
print(car_1)
output
['Audi']
当然我们还可以通过调用Python
当中的filter
方法来实现,代码如下
car_1 = list(filter(lambda c: c[0] == 'A', cars))
得到的结果也和上述的一样
14.列表中的元素排序
numbers = [55, -30, 28, -36, 48, 20]
numbers.sort()
print(numbers)
output
[-36, -30, 20, 28, 48, 55]
当然我们也可以从大到小,这样的方式来排序,代码如下
numbers.sort(reverse=True)
numbers
output
[55, 48, 28, 20, -30, -36]
而对于字符串而言,我们可以根据首字母的字母表顺序来排序
cars = ['Ford', 'Tesla', 'BMW', 'Volvo', 'Audi']
cars.sort()
print(cars)
output
['Audi', 'BMW', 'Ford', 'Tesla', 'Volvo']
15.合并集合
set1 = {"1", "2", "5"}
set2 = {"4", "6", "7"}set1.update(set2)
print(set1)
output
{'7', '6', '5', '2', '1', '4'}
16. 根据键来对字典进行排序
d = {'one': 1, 'three': 4, 'five': 8, 'six': 10}
result = {key: d[key] for key in sorted(d.keys())}
print(result)
output
{'five': 8, 'one': 1, 'six': 10, 'three': 4}
17. 根据键值来对字典进行排序
d = {'one': 15, 'three': 12, 'five': 8, 'six': 30}
result = {key: value for key, value in sorted(d.items(), key=lambda item: item[1])}
print(result)
output
{'five': 8, 'three': 12, 'one': 15, 'six': 30}
18. 替换字符串
"Python is a programming language. Python is awesome".replace("Python",'Java')
output
Java is a programming language. Java is awesome
19. 计算指定字符串出现的次数
a = 'python is a programming language. python is python.'
result = a.count('python')
print(result)
output
3
20. 将自定义方法作用在列表中的每个元素
from functools import reducereduce(lambda x, y: x*y, [2, 2, 3, 4])
output
48
21. 找到最大的那个数
find_max = lambda x,y: x if x > y else y
result = find_max(5,20)
output
20
22. 将矩阵转置
a = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]transposed = [list(i) for i in zip(*a)]
print(transposed)
output
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
23. 生成斐波纳契数列
斐波纳契数列指的是列表当中元素的值是由前两个元素的值的总和而来的,例如像是1, 1, 2, 3, 5, 8,13
,要生成它的代码如下
fibo = [0, 1]
[fibo.append(fibo[-2]+fibo[-1]) for i in range(10)]
print(fibo)
output
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
24. 删除列表中的多个元素
mylist = [100, 200, 300, 400, 500]
del mylist[:3]
print(mylist)
output
[400, 500]
25. 多个if-else
组合
目标是将下面多个if-else
的组合,写在一行上面
x = 200if x < 20:print("小于20")
elif x == 200:print("等于200")
else:print("大于20且不等于200")
我们也可以将多个if-else
组合放在一行上面写
x = 200
print("小于20") if x < 20 else print("等于200") if x == 200 else print("大于20且不等于200")
往期精彩回顾适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载中国大学慕课《机器学习》(黄海广主讲)机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑
AI基础下载机器学习交流qq群955171419,加入微信群请扫码:
【Python】25个好用到爆的一行Python代码,建议收藏相关推荐
- 25个好用到爆的一行 Python 代码,建议收藏
作者 | 欣一 来源 | Pyhton爱好集中营 在学习Python的过程当中,有很多复杂的任务其实只需要一行代码就可以解决,那么今天小编我就来给大家介绍实用的一行Python代码,希望对大家能够有所 ...
- 25个好用到爆的一行Python代码,建议收藏
大家好,我是欣一 在学习Python的过程当中,有很多复杂的任务其实只需要一行代码就可以解决,那么今天小编我就来给大家介绍20个实用的一行Python代码,希望对大家能够有所帮助. 1.两个字典的合并 ...
- 【Python基础】pandas的骚操作:一行 pandas 代码搞定 Excel “条件格式”!
来源:Python数据科学 作者:东哥起飞 本篇是pandas100个骚操作系列的第 7 篇:一行 pandas 代码搞定 Excel "条件格式"! 系列内容,请看????「pa ...
- Python用20行代码实现完整邮件功能 [完整代码+建议收藏]
大家好,我是Lex 喜欢欺负超人那个Lex 擅长领域:python开发.网络安全渗透.Windows域控Exchange架构 今日重点:python脚本实现发送邮件,邮件添加附件,读取接收邮件等功能. ...
- python对考大学有用吗_2020为啥一定要学Python,献上学习大礼包,拿走不谢,建议收藏!...
最近,网上流传一组<人工智能实验教材>的图片,照片火起来的原因是教材是为幼儿园的小朋友们设计的! Python被列入小学.初高中教材已不是新鲜事,现在又成功"入侵"了幼 ...
- Python所有的库都在这里了!!强烈建议收藏
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 随着大数据和人工智能的发展,Python也与多种科技深深绑定. 比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端 ...
- 人生苦短 我用Python,零基础运行你的第一行Python代码
最近大家都在学Python这门脚本语言,连不是学计算机,不是搞软件的也开始在学,比如搞金融的都要学会用Python做数据分析. Python是一门非常好用好学的语言,功能非常的强大又非常的简单,往往几 ...
- 整理了47个python人工智能库,超详细(含资源),建议收藏,不懂可随时来看
这是本文的标题 前言 1.Numpy 2.SciPy 库 3.Scikit-image 4.statsmodels 库 5.Pillow 6.XGBoost 库 7.Mahotas 8.CatBoos ...
- python显示3位数不够0补位_关于Python开发中的那些坑总结,令人防不胜防,建议收藏!...
在学习 Python 的过程中,我为它的简洁优雅而痴迷,但它又是如此的调皮,在提供了很多舒服的功能特性之外,又悄悄挖了很多带有迷惑性的坑,令人防不胜防- 人不能两次踏入同一条河流,在无数次踩进同样的坑 ...
最新文章
- Redis 通用 key 命令
- canvas画布属性globalAlpha 和 createRadialGradient函数出现的设置问题
- js定时器、高亮修改单元格背景色
- 【BZOJ3930】[CQOI2015]选数 莫比乌斯反演
- 操作页面元素WebElement—Selenium自动化测试指南(4)
- centos7 zabbix
- 原生js实现吸顶导航和回到顶部特效
- Binder机制(非常好理解)
- Parallels Toolbox for mac(万能工具箱)中文版
- 使用tesseract-ocr进行文字识别
- 电脑端微信多开操作方法
- Eclipse+Java+Swing实现企业人事管理系统
- java tapestry_Java Web 框架 Tapestry
- js删除对象空属性值的方法
- 融合多头注意力机制的网络恶意流量检测
- 笔记本电脑wlan+开启移动热点+手机转圈圈【已解决】
- 海盗分赃(8行代码搞定!)
- Hadoop学习笔记(一)
- arm el2与el3_armv8架构与指令集.整理.初稿.pdf
- expect语句--shell
热门文章
- eclipse maven 创建总POM 工程
- 设计模式笔记15:代理模式(Proxy Pattern)
- percona-xtrabackup-8.0.7简单快捷使用
- ES6 new syntax of Default Function Parameters
- python3练习-装饰器
- data structure begin!!
- ubuntu15.04中安装mysql和mysql-workbench
- Debian系列软件管理(第二版)
- 上所说的计算机主机是什么意思,通常所说的主机指什么
- apache php隐藏头信息的方法,科技常识:nginx/apache/php隐藏http头部版本信息的实现方法...