社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

一行Python代码能做什么?

Crossin的编程教室 • 7 月前 • 153 次点击  

Python语法简洁,能够用一行代码实现很多有趣的功能,这次来整理30个常见的Python一行代码集合。

1、转置矩阵

old_list = [[123], [346], [567]]
list(list(x) for x in zip(*old_list))
[[1, 3, 5], [2, 4, 6], [3, 6, 7]]

2、二进制转十进制

decimal = int('1010'2)
print(decimal) #10
10

3、字符串大写转小写

# 方法一 lower()
"Hi my name is Allwin".lower()
# 'hi my name is allwin'
# 方法二 casefold()
"Hi my name is Allwin".casefold()
# 'hi my name is allwin'
'hi my name is allwin'

4、字符串小写转大写

"hi my name is Allwin".upper()
# 'HI MY NAME IS ALLWIN'
'HI MY NAME IS ALLWIN'

5、将字符串转换为字节

"convert string to bytes using encode method".encode()
# b'convert string to bytes using encode method'
b'convert string to bytes using encode method'

6、复制文件内容

import shutil; shutil.copyfile('source.txt''dest.txt')
'dest.txt'

7、快速排序




    
qsort = lambda l : l if len(l)<=1 else qsort([x for x in l[1:] if x 0]]) + [l[0]] + qsort([x for x in l[1:] if x >= l[0]])
qsort([1,3,2])
[1, 2, 3]

8、n个连续数之和

n = 3
sum(range(0, n+1))
6

9、交换两个变量

a=1
b=2
a,b = b,a

10、斐波那契数列

fib = lambda x: x if x<=1 else fib(x-1) + fib(x-2)
fib(10)

55

11、将嵌套列表合并为一个列表

main_list = [[1,2],[3,4],[5,6,7]]
[item for sublist in main_list for item in sublist]
[1, 2, 3, 4, 5, 6, 7]

12、运行 HTTP 服务器

python3 -m http.server 8000

13、反转列表

numbers = 'I Love China'
numbers[::-1]
'anihC evoL I'

14、返回阶乘




    
import math; fact_5 = math.factorial(5)
fact_5
120

15、判断列表推导式

even_list = [number for number in [1234if number % 2 == 0]
even_list
[2, 4]

16、取最长字符串

words = ['This''is''a''list''of''words']
max(words, key=len) 
'words'

17、列表推导式

li = [num for num in range(0,100)]
# this will create a list of numbers from 0 to 99

18、集合推导式

num_set = { num for num in range(0,100)}
# this will create a set of numbers from 0 to 99

19、字典推导式

dict_numbers = {x:x*x for x in range(1,5) }
# {1: 1, 2: 4, 3: 9, 4: 16}

20、if-else

print("even"if 4%2==0 else print("odd")
even

21、无限循环

while 1:0

22、检查数据类型

isinstance(2, int)
isinstance("allwin", str)
isinstance([3,4,1997], list)

23、while循环

a=5
while a > 0: a = a - 1; print(a)

24、使用print语句写入到文件里

print("Hello, World!", file=open('source.txt''w'))

25、统计字频

print("umbrella".count('l'))
2

26、合并两个列表

list1.extend(list2)
# contents of list 2 will be added to the list1

27、合并两个字典

dict1.update(dict2)
# contents of dictionary 2 will be added to the dictionary 1

28、合并两个集合

set1.update(set2)
# contents of set2 will be copied to the set1

29、时间戳

import time; print(time.time())
1632146103.8406303

30、统计最多的元素

test_list = [945445954]
most_frequent_element = max(set(test_list), key=test_list.count)
most_frequent_element
4

最后,Python代码哲学崇尚简洁,伙伴们也可以尝试把代码简化,看能不能实现想要的功能。


本文参考medium文章:

https://allwin-raju-12.medium.com/50-python-one-liners-everyone-should-know-182ea7c8de9d



Crossin的新书《码上行动:用ChatGPT学会Python编程》已经上市了。本书以ChatGPT为辅助,系统全面地讲解了如何掌握Python编程,适合Python零基础入门的读者学习。【点此查看详细介绍】

购买后可加入读者交流群,Crossin为你开启陪读模式,解答你在阅读本书时的一切疑问。
Crossin的其他书籍:


添加微信 crossin123 ,加入编程教室共同学习~

感谢转发点赞的各位~
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/175654
 
153 次点击