百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

用一行Python代码就可以完成的20个常用任务

wptr33 2025-03-25 18:07 9 浏览

1. 计算列表平均值

numbers = [1, 2, 3, 4, 5]
average = sum(numbers) / len(numbers)
  • 解释:使用sum()计算列表总和,len()获取长度,然后相除得到平均值。

2. 列表转字符串

my_list = ['Hello', 'world']
stringified = ' '.join(my_list)
  • 解释join()方法用于将列表中的元素连接成字符串,中间用指定字符(这里是空格)分隔。

3. 查找最大值

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
max_value = max(numbers)
  • 解释:直接使用max()函数找到列表中的最大值。

4. 检查是否全是数字

s = "12345"
is_all_digits = all(c.isdigit() for c in s)
  • 解释all()结合生成器表达式,检查序列中所有元素是否满足条件,这里检查每个字符是否为数字。

5. 反转字符串

my_string = "hello"
reversed_string = my_string[::-1]
  • 解释:切片操作[::-1]用于反转字符串。

6. 平方一个列表的元素

numbers = [1, 2, 3]
squared = [n**2 for n in numbers]
  • 解释:列表推导式,对列表中的每个元素进行平方运算。

7. 判断是否为素数

def is_prime(n):
    return all(n % i for i in range(2, int(n**0.5) + 1)) and n > 1
  • 解释:使用all()和生成器表达式判断2到根号n之间是否有因子。

8. 字符串去重

my_string = "hello"
unique_chars = ''.join(sorted(set(my_string)))
  • 解释:先用set()去重,再排序,最后用join()合并成字符串。

9. 计算字符串出现次数

text = "hello world"
count = text.count('o')
  • 解释count()方法统计子字符串在原字符串中出现的次数。

10. 文件读取所有行

with open('example.txt', 'r') as file:
    lines = file.readlines()
  • 解释:使用上下文管理器安全读取文件,readlines()读取所有行到列表中。

11. 快速排序

def quick_sort(lst):
    return sorted(lst)
  • 解释:虽然不是“一行内”完成,但使用内置的sorted()函数快速排序,简洁有效。

12. 生成斐波那契数列

fibonacci = lambda n,a=0,b=1: ([a]+fibonacci(n-1,b,a+b)) if n>1 else [a,b][:n+1]
  • 解释:递归定义斐波那契数列,注意效率较低,适用于教学目的。

13. 字典键值对交换

my_dict = {'a': 1, 'b': 2}
swapped = {v: k for k, v in my_dict.items()}
  • 解释:字典推导式,交换键值对。

14. 求两个集合的交集

set1 = {1, 2, 3}
set2 = {2, 3, 4}
intersection = set1 & set2
  • 解释:使用集合的交集运算符&

15. 将字符串转换为整型列表

s = "12345"
int_list = list(map(int, s))
  • 解释:结合map()list(),将字符串每个字符转换为整数并列表化。

16. 生成随机数

import random
random_number = random.randint(1, 100)
  • 解释:导入random模块,生成指定范围内的随机整数。

17. 混淆字符串的字母顺序

from random import shuffle
s = "hello"
shuffled = ''.join(shuffle(list(s), random.random))
  • 解释:将字符串转为列表,打乱顺序,再合并回字符串。

18. 将秒转换为时分秒

seconds = 3661
hours, remainder = divmod(seconds, 3600)
minutes, seconds = divmod(remainder, 60)
time_format = f"{hours}:{minutes}:{seconds}"
  • 解释:使用divmod()函数进行多次除法和取余操作,格式化输出时间。

19. 判断闰年

year = 2020
is_leap = year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
  • 解释:根据闰年的规则,使用逻辑运算符组合判断条件。

20. 扁平化嵌套列表

nested_list = [[1, 2], [3, 4, 5], [6]]
flattened = [item for sublist in nested_list for item in sublist]
  • 解释:双层列表推导式,遍历每个子列表并展开其元素。

通过这20个实例,你不仅学会了如何用Python的一行代码解决实际问题,还深入了解了Python的几个核心概念:列表、字符串操作、集合、字典、循环、条件语句、函数和模块的使用。

相关推荐

每天一个AI姬,AMD核显用户有福了,AI绘画打破 NVIDIA 显卡垄断

使用StableDiffusion进行AI绘画,并不一定只能使用NVIDIA英伟达显卡,甚至,也不一定只能使用独立显卡。今天我们使用AMD6800H核显,并安装了StableDif...

NETworkManager:功能强大的网络管理与问题排除工具

关于NETworkManagerNETworkManager是一款功能强大的网络管理与问题排除工具,该工具完全开源,可以帮助广大研究人员轻松管理目标网络系统并排除网络疑难问题。该工具使用远程桌面、Po...

AMD也能深度学习+免费AI绘画:StableDiffusion+ROCm部署教程!

某国政客扇扇嘴皮子,CN玩硬件和深度学习的圈子里就掀起了一场风暴,这就是著名的嘴皮子效应(误)。没了高性能计算的A100H100倒也能理解,但是美利坚这波把RTX4090禁售了就让人无语了,所以不少做...

windows 下编译 python_rtmpstream

最近在研究数字人,看了大咖的项目(https://github.com/lipku/metahuman-stream),尝试编译此项目的依赖项目python_rtmpstream(https://gi...

如何使用 Python 操作 Git 代码?GitPython 入门介绍

花下猫语:今天,我在查阅如何用Python操作Gitlab的时候,看到这篇文章,觉得还不错,特分享给大家。文中还提到了其它几种操作Git的方法,后续有机会的话,再陆续分享之~~作者:匿蟒...

网上看了不少,终于把ZlmediaKit流媒体框架搭建起来啦

你都站在2023年代了,视频通话、视频直播、视频会议、视频监控就是风口浪尖上的猪师兄,只要你学那么一丁点,拿个高薪的工作不过分吧!我也是半瓶子晃荡的,所以路人呀,共学习,同进步!本篇开始,只讲在Lin...

MacDown:一款 macOS 的强大 Markdown 编辑器

大家好,很高兴又见面了,我是"...

ZLMediaKit安装配置和推拉流

一、ZLMediaKit库简介ZLMediaKit是一个基于...

大神赞过的:学习 WebAssembly 汇编语言程序设计

文/阿里淘系F(x)Team-旭伦随着前端页面变得越来越复杂,javascript的性能问题一再被诟病。而Javascript设计时就不是为了性能优化设计的,这使得浏览器上可以运行的本地语言一...

【Docker】部署WVP视频监控平台

回来Docker系列,今天将会跟大家分享一则关于开源WVP视频监控平台的搭建。先说结论吧,一开始按照网上说的一步一步搭建没有搭建成功,不知道是版本太旧还是我这边机器有问题,尝试了好几个不同方式的搭建都...

MongoDB+GridFS存储文件方案

GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文...

【开源】强大、创新且直观的 EDA套件

今天分享的LibrePCB是...

Ollama如何制作自己的大模型?

背景Llama3发布了,这次用了...

Ollama使用指南【超全版】

一、Ollama快速入门Ollama是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用Ollama。官网:https://ollama.comGithub:http...

基于区块链的价值共享互联网即时通讯应用平台源码免费分享

——————关注转发之后私信回复【源码】即可免费获取到本项目所有源码基于区块链的价值共享互联网即时通讯应用平台,是一个去中心化的任何人都可以使用的通讯网络,是一款基于区块链的价值共享互联网即时通讯AP...