返回顶部

50条有趣的Python一行代码分享(上)

[复制链接]
气泡水Lv.2 显示全部楼层 发表于 2021-12-8 11:08:52 |阅读模式 打印 上一主题 下一主题
  在学习Python的过程中,总会发现Python能够轻易的解决许多问题。一些复杂的任务,甚至可以使用一行Python代码就能搞定。

  1、字母异位词

  两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)。例如,“silent”和“listen”是字母易位词,而“apple”和“aplee”不是易位词。使用一行Python代码,就能判断出来了。

[Python] 纯文本查看 复制代码
from collections import Counter

s1 = 'below'
s2 = 'elbow'

print('anagram') if Counter(s1) == Counter(s2) else print('not an anagram')


  2、二进制转十进制

[Python] 纯文本查看 复制代码
decimal = int('1010', 2)
print(decimal) #10


  3、将字符串转换为小写

[Python] 纯文本查看 复制代码
print("Hi my name is XiaoF".lower())
# 'hi my name is xiaof'

print("Hi my name is XiaoF".casefold())
# 'hi my name is xiaof'


  4、将字符串转换为大写

[Python] 纯文本查看 复制代码
print("hi my name is XiaoF".upper())
# 'HI MY NAME IS XIAOF'


  5、将字符串转换为字节

[Python] 纯文本查看 复制代码
print("convert string to bytes using encode method".encode())
# b'convert string to bytes using encode method'



  6、拷贝文件

[Python] 纯文本查看 复制代码
import shutil

shutil.copyfile('source.txt', 'dest.txt')


  7、快速排序

[Python] 纯文本查看 复制代码
qsort = lambda l: l if len(l) <= 1 else qsort([x for x in l[1:] if x < l[0]]) + [l[0]] + qsort([x for x in l[1:] if x >= l[0]])

print(qsort([17, 29, 11, 97, 103, 5]))
# [5, 11, 17, 29, 97, 103]


  8、n个连续数的和

[Python] 纯文本查看 复制代码
n = 10

print(sum(range(0, n+1)))
# 55


  9、交换两个变量的值

[Python] 纯文本查看 复制代码
a,b = b,a


  10、斐波纳契数列

[Python] 纯文本查看 复制代码
fib = lambda x: x if x<=1 else fib(x-1) + fib(x-2)

print(fib(20))
# 6765


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

[Python] 纯文本查看 复制代码
main_list = [[0, 1, 2], [11, 12, 13], [52, 53, 54]]

result = [item for sublist in main_list for item in sublist]
print(result)

>
[0, 1, 2, 11, 12, 13, 52, 53, 54]


  12、运行一个HTTP服务器

[Python] 纯文本查看 复制代码
python3 -m http.server 8000
python2 -m SimpleHTTPServer


  13、反转列表

[Python] 纯文本查看 复制代码
numbers = [0, 1, 2, 11, 12, 13, 52, 53, 54]

print(numbers[::-1])
# [54, 53, 52, 13, 12, 11, 2, 1, 0]


  14、阶乘

[Python] 纯文本查看 复制代码
import math

fact_5 = math.factorial(5)
print(fact_5)
# 120


  15、在列表推导式中使用for和if

[Python] 纯文本查看 复制代码
even_list = [number for number in [1, 2, 3, 4] if number % 2 == 0]

print(even_list)
# [2, 4]



  16、列表中最长的字符串

[Python] 纯文本查看 复制代码
words = ['This', 'is', 'a', 'list', 'of', 'words']

result = max(words, key=len)
print(result)
# 'words'


  17、列表推导式

[Python] 纯文本查看 复制代码
li = [num for num in range(0, 10)]

print(li)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


  18、集合推导式

[Python] 纯文本查看 复制代码
num_set = {num for num in range(0, 10)}

print(num_set)
# {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}


  19、字典推导式

[Python] 纯文本查看 复制代码
dict_numbers = {x: x*x for x in range(1, 5)}

print(dict_numbers)
# {1: 1, 2: 4, 3: 9, 4: 16}


  20、if-else

[Python] 纯文本查看 复制代码
print("even") if 4 % 2==0 else print("odd")



  21、无限循环

[Python] 纯文本查看 复制代码
while 1:0


  22、检查数据类型

[Python] 纯文本查看 复制代码
print(isinstance(2, int))
# True

print(isinstance("allwin", str))
# True

print(isinstance([3, 4, 1997], list))
# True


  23、While循环

[Python] 纯文本查看 复制代码
a = 5

while a > 0:
    a = a - 1

print(a)
# 0



  24、使用print语句写入文件

[Python] 纯文本查看 复制代码
print("Hello, World!", file=open('file.txt', 'w'))


  25、计算一个字符在字符串中出现的频率

[Python] 纯文本查看 复制代码
print("Hello, World!", file=open('file.txt', 'w'))


 
 【免责声明】本文系转载,文章来源于公众号法纳斯特 ,作者小F,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

达内教育:成立于2002年。致力于面向IT互联网行业,培养软件开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、网络营销、会计等职场人才 达内使命:缔造年轻人的中国梦、缔造达内员工的中国梦 达内愿景:做管理一流的教育公司
  • 商务合作

  • 微信公众号

  • Powered by Discuz! X3.4 | Copyright © 2002-2021, 达内教育 Tedu.cn
  • 京ICP备08000853号-56 |网站地图 | 京公网安备 11010802029508号