Python 50条有趣的Python一行代码
▍1、字母异位词
1 2 3 4 5 6 7 8 9 10 11 | 两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)。 例如,“silent”和“listen”是字母易位词,而“apple”和“aplee”不是易位词。 from collections import Counter s1 = 'below' s2 = 'elbow' print ( 'anagram' ) if Counter(s1) = = Counter(s2) else print ( 'not an anagram' ) 使用一行Python代码,就能判断出来了。 |
▍2、二进制转十进制
1 2 | decimal = int ( '1010' , 2 ) print (decimal) #10 |
▍3、将字符串转换为小写
1 2 3 4 5 | 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、将字符串转换为大写
1 2 | print ( "hi my name is XiaoF" .upper()) # 'HI MY NAME IS XIAOF' |
▍5、将字符串转换为字节
1 2 | print ( "convert string to bytes using encode method" .encode()) # b'convert string to bytes using encode method' |
▍6、拷贝文件
1 2 3 | import shutil shutil.copyfile( 'source.txt' , 'dest.txt' ) |
▍7、快速排序
1 2 3 4 | 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个连续数的和
1 2 3 4 | n = 10 print ( sum ( range ( 0 , n + 1 ))) # 55 |
▍9、交换两个变量的值
1 | a,b = b,a |
▍10、斐波纳契数列
1 2 3 4 | fib = lambda x: x if x< = 1 else fib(x - 1 ) + fib(x - 2 ) print (fib( 20 )) # 6765 |
▍11、将嵌套列表合并为一个列表
1 2 3 4 5 6 7 | 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服务器
1 2 | python3 - m http.server 8000 python2 - m SimpleHTTPServer |
▍13、反转列表
1 2 3 4 | numbers = [ 0 , 1 , 2 , 11 , 12 , 13 , 52 , 53 , 54 ] print (numbers[:: - 1 ]) # [54, 53, 52, 13, 12, 11, 2, 1, 0] |
▍14、阶乘
1 2 3 4 5 | import math fact_5 = math.factorial( 5 ) print (fact_5) # 120 |
▍15、在列表推导式中使用for和if
1 2 3 4 | even_list = [number for number in [ 1 , 2 , 3 , 4 ] if number % 2 = = 0 ] print (even_list) # [2, 4] |
▍16、列表中最长的字符串
1 2 3 4 5 | words = [ 'This' , 'is' , 'a' , 'list' , 'of' , 'words' ] result = max (words, key = len ) print (result) # 'words' |
▍17、列表推导式
1 2 3 4 | li = [num for num in range ( 0 , 10 )] print (li) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
▍18、集合推导式
1 2 3 4 | num_set = {num for num in range ( 0 , 10 )} print (num_set) # {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} |
▍19、字典推导式
1 2 3 4 | 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
1 | print ( "even" ) if 4 % 2 = = 0 else print ( "odd" ) |
▍21、无限循环
1 | while 1 : 0 |
▍22、检查数据类型
1 2 3 4 5 6 7 8 | print ( isinstance ( 2 , int )) # True print ( isinstance ( "allwin" , str )) # True print ( isinstance ([ 3 , 4 , 1997 ], list )) # True |
▍23、While循环
1 2 3 4 5 6 7 | a = 5 while a > 0 : a = a - 1 print (a) # 0 |
▍24、使用print语句写入文件
1 2 3 | print ( "Hello, World!" , file = open ( 'file.txt' , 'w' )) 既可打印出信息,还能将信息保存文件。 |
▍25、计算一个字符在字符串中出现的频率
1 2 | print ( "umbrella" .count( 'l' )) # 2 |
▍26、合并列表
1 2 3 4 5 6 | list1 = [ 1 , 2 , 4 ] list2 = [ 'XiaoF' ] list1.extend(list2) print (list1) # [1, 2, 4, 'XiaoF'] |
▍27、合并字典
1 2 3 4 5 6 | dict1 = { 'name' : 'weiwei' , 'age' : 23 } dict2 = { 'city' : 'Beijing' } dict1.update(dict2) print (dict1) # {'name': 'weiwei', 'age': 23, 'city': 'Beijing'} |
▍28、合并集合
1 2 3 4 5 6 | set1 = { 0 , 1 , 2 } set2 = { 11 , 12 , 13 } set1.update(set2) print (set1) # {0, 1, 2, 11, 12, 13} |
▍29、时间戳
1 2 3 | import time print (time.time()) |
▍30、列表中出现次数最多的元素
1 2 3 4 5 | test_list = [ 9 , 4 , 5 , 4 , 4 , 5 , 9 , 5 , 4 ] most_frequent_element = max ( set (test_list), key = test_list.count) print (most_frequent_element) # 4 |
▍31、嵌套列表
1 2 3 4 | numbers = [[num] for num in range ( 10 )] print (numbers) # [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]] |
▍32、八进制转十进制
1 2 | print ( int ( '30' , 8 )) # 24 |
▍33、将键值对转换为字典
1 2 3 4 | result = dict (name = 'XiaoF' , age = 23 ) print (result) # {'name': 'XiaoF', 'age': 23} |
▍34、求商和余数
1 2 3 4 5 6 | quotient, remainder = divmod ( 4 , 5 ) print (quotient, remainder) # 0 4 divmod ()函数返回当参数 1 除以参数 2 时,包含商和余数的元组。 |
▍35、删除列表中的重复项
1 2 | print ( list ( set ([ 4 , 4 , 5 , 5 , 6 ]))) # [4, 5, 6] |
▍36、按升序排序列表
1 2 | print ( sorted ([ 5 , 2 , 9 , 1 ])) # [1, 2, 5, 9] |
▍37、按降序排序列表
1 2 | print ( sorted ([ 5 , 2 , 9 , 1 ], reverse = True )) # [9, 5, 2, 1] |
▍38、获取小写字母表
1 2 3 4 | import string print (string.ascii_lowercase) # abcdefghijklmnopqrstuvwxyz |
▍39、获取大写字母表
1 2 3 4 | import string print (string.ascii_uppercase) # ABCDEFGHIJKLMNOPQRSTUVWXYZ |
▍40、获取0到9字符串
1 2 3 4 | import string print (string.digits) # 0123456789 |
▍41、十六进制转十进制
1 2 | print ( int ( 'da9' , 16 )) # 3497 |
▍42、日期时间
1 2 3 4 | import time print (time.ctime()) # Thu Aug 13 20:00:00 2021 |
▍43、将列表中的字符串转换为整数
1 2 | print ( list ( map ( int , [ '1' , '2' , '3' ]))) # [1, 2, 3] |
▍44、用键对字典进行排序
1 2 3 4 5 | d = { 'one' : 1 , 'four' : 4 , 'eight' : 8 } result = {key: d[key] for key in sorted (d.keys())} print (result) # {'eight': 8, 'four': 4, 'one': 1} |
▍45、用键值对字典进行排序
1 2 3 4 5 | x = { 1 : 2 , 3 : 4 , 4 : 3 , 2 : 1 , 0 : 0 } result = {k: v for k, v in sorted (x.items(), key = lambda item: item[ 1 ])} print (result) # {0: 0, 2: 1, 1: 2, 4: 3, 3: 4} |
▍46、列表旋转
1 2 3 4 5 6 7 8 9 | li = [ 1 , 2 , 3 , 4 , 5 ] # li[n:] + li[:n], 右变左 print (li[ 2 :] + li[: 2 ]) # [3, 4, 5, 1, 2] # li[-n:] + li[:-n], 左变右 print (li[ - 1 :] + li[: - 1 ]) # [5, 1, 2, 3, 4] |
▍47、将字符串中的数字移除
1 2 3 4 | message = ' '.join(list(filter(lambda x: x.isalpha(), ' abc123def4fg56vcg2'))) print (message) # abcdeffgvcg |
▍48、矩阵变换
1 2 3 4 5 | old_list = [[ 1 , 2 , 3 ], [ 3 , 4 , 6 ], [ 5 , 6 , 7 ]] result = list ( list (x) for x in zip ( * old_list)) print (result) # [[1, 3, 5], [2, 4, 6], [3, 6, 7]] |
▍49、列表过滤
1 2 3 4 | result = list ( filter ( lambda x: x % 2 = = 0 , [ 1 , 2 , 3 , 4 , 5 , 6 ])) print (result) # [2, 4, 6] |
▍50、解包
1 2 3 4 5 | a, * b, c = [ 1 , 2 , 3 , 4 , 5 ] print (a) # 1 print (b) # [2, 3, 4] print (c) # 5 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!