学习必备的50条非常有趣且实用的Python一行代码,值得收藏

时间:2024-10-04 16:09:14

前言

学习必备的50条非常有趣且实用的Python一行代码,值得收藏!

让我们愉快地开始吧~编程学习资料免费点击

开发工具

Python版本: 3.6.4

相关模块:

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

1、字母异位词

两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)。

例如,“silent”和“listen”是字母易位词,而“apple”和“aplee”不是易位词。

  1. from collections import Counter
  2. s1 = 'below'
  3. s2 = 'elbow'
  4. print('anagram'if Counter(s1== Counter(s2else print('not an anagram')
  5. 复制代码

一行Python代码,就能判断出来了

2、二进制转十进制

  1. decimal = int('1010'2)
  2. print(decimal#10
  3. 复制代码

3、将字符串转换为小写

  1. print("Hi my name is XiaoF".lower())
  2. 'hi my name is xiaof'
  3. print("Hi my name is XiaoF".casefold())
  4. 'hi my name is xiaof'
  5. 复制代码

4、将字符串转换为大写

  1. print("hi my name is XiaoF".upper())
  2. 'HI MY NAME IS XIAOF'
  3. 复制代码

5、将字符串转换为字节

  1. print("convert string to bytes using encode method".encode())
  2. # b'convert string to bytes using encode method'
  3. 复制代码

6、拷贝文件

  1. import shutil
  2. shutil.copyfile('''')
  3. 复制代码

7、快速排序

  1. 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]])
  2. print(qsort([172911971035]))
  3. # [511172997103]
  4. 复制代码

8、n个连续数的和

  1. = 10
  2. print(sum(range(0, n+1)))
  3. 55
  4. 复制代码

9、交换两个变量的值

  1. a,b = b,a
  2. 复制代码

10、斐波纳契数列

  1. fib = lambda x: x if x<=1 else fib(x-1+ fib(x-2)
  2. print(fib(20))
  3. 6765
  4. 复制代码

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

  1. main_list = [[012], [111213], [525354]]
  2. result = [item for sublist in main_list for item in sublist]
  3. print(result)
  4. >
  5. [012111213525354]
  6. 复制代码

12、运行一个HTTP服务器

  1. python3 -m  8000
  2. python2 -m SimpleHTTPServer
  3. 复制代码

13、反转列表

  1. numbers = [012111213525354]
  2. print(numbers[::-1])
  3. # [545352131211210]
  4. 复制代码

14、阶乘

  1. import math
  2. fact_5 = (5)
  3. print(fact_5)
  4. 120
  5. 复制代码

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

  1. even_list = [number for number in [1234if number % 2 == 0]
  2. print(even_list)
  3. # [24]
  4. 复制代码

16、列表中最长的字符串

  1. words = ['This''is''a''list''of''words']
  2. result = max(words, key=len)
  3. print(result)
  4. 'words'
  5. 复制代码

17、列表推导式

  1. li = [num for num in range(010)]
  2. print(li)
  3. # [0123456789]
  4. 复制代码

18、集合推导式

  1. num_set = {num for num in range(010)}
  2. print(num_set)
  3. # {0123456789}
  4. 复制代码

19、字典推导式

  1. dict_numbers = {x: x*for x in range(15)}
  2. print(dict_numbers)
  3. # {112439416}
  4. 复制代码

20、if-else

  1. print("even"if 4 % 2==0 else print("odd")
  2. 复制代码

21、无限循环

  1. while 1:0
  2. 复制代码

22、检查数据类型

  1. print(isinstance(2int))
  2. # True
  3. print(isinstance("allwin"str))
  4. # True
  5. print(isinstance([341997], list))
  6. # True
  7. 复制代码

23、While循环

  1. = 5
  2. while a > 0:
  3.     a = a - 1
  4. print(a)
  5. 0
  6. 复制代码

24、使用print语句写入文件

  1. print("Hello, World!"file=open('''w'))
  2. 复制代码

既可打印出信息,还能将信息保存文件。

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

  1. print("umbrella".count('l'))
  2. # 2
  3. 复制代码

26、合并列表

  1. list1 = [124]
  2. list2 = ['XiaoF']
  3. list1.extend(list2)
  4. print(list1)
  5. # [124'XiaoF']
  6. 复制代码

27、合并字典

  1. dict1 = {'name''weiwei''age'23}
  2. dict2 = {'city''Beijing'}
  3. dict1.update(dict2)
  4. print(dict1)
  5. # {'name''weiwei''age'23'city''Beijing'}
  6. 复制代码

28、合并集合

  1. set1 = {012}
  2. set2 = {111213}
  3. set1.update(set2)
  4. print(set1)
  5. # {012111213}
  6. 复制代码

29、时间戳

  1. import time
  2. print(time.time())
  3. 复制代码

30、列表中出现次数最多的元素

  1. test_list = [945445954]
  2. most_frequent_element = max(set(test_list), key=test_list.count)
  3. print(most_frequent_element)
  4. 4
  5. 复制代码

31、嵌套列表

  1. numbers = [[num] for num in range(10)]
  2. print(numbers)
  3. # [[0], [1], [2], [3], [4], [5], [6], [7], [8], [9]]
  4. 复制代码

32、八进制转十进制

  1. print(int('30'8)) 
  2. # 24
  3. 复制代码

33、将键值对转换为字典

  1. result = dict(name='XiaoF', age=23)
  2. print(result)
  3. # {'name''XiaoF''age'23}
  4. 复制代码

34、求商和余数

  1. quotient, remainder = divmod(45)
  2. print(quotient, remainder)
  3. 0 4
  4. 复制代码

divmod()函数返回当参数1除以参数2时,包含商和余数的元组。

35、删除列表中的重复项

  1. print(list(set([44556])))
  2. # [456]
  3. 复制代码

36、按升序排序列表

  1. print(sorted([5291]))
  2. # [1259]
  3. 复制代码

37、按降序排序列表

  1. print(sorted([5291], reverse=True))
  2. # [9521]
  3. 复制代码

38、获取小写字母表

  1. import string
  2. print(string.ascii_lowercase)
  3. # abcdefghijklmnopqrstuvwxyz
  4. 复制代码

39、获取大写字母表

  1. import string
  2. print(string.ascii_uppercase)
  3. # ABCDEFGHIJKLMNOPQRSTUVWXYZ
  4. 复制代码

40、获取0到9字符串

  1. import string
  2. print(string.digits)
  3. # 0123456789
  4. 复制代码

41、十六进制转十进制

  1. print(int('da9'16))
  2. # 3497
  3. 复制代码

42、日期时间

  1. import time
  2. print(time.ctime())
  3. # Thu Aug 13 20:00:00 2021
  4. 复制代码

43、将列表中的字符串转换为整数

  1. print(list(map(int, ['1''2''3'])))
  2. # [1, 2, 3]
  3. 复制代码

44、用键对字典进行排序

  1. = {'one'1'four'4'eight'8}
  2. result = {key: d[keyfor key in sorted(())}
  3. print(result)
  4. # {'eight'8'four'4'one'1}
  5. 复制代码

45、用键值对字典进行排序

  1. = {1234432100}
  2. result = {k: v for k, v in sorted((), key=lambda item: item[1])}
  3. print(result)
  4. # {0021124334}
  5. 复制代码

46、列表旋转

  1. li = [12345]
  2. # li[n:] + li[:n], 右变左
  3. print(li[2:] + li[:2])
  4. # [34512]
  5. # li[-n:] + li[:-n], 左变右
  6. print(li[-1:] + li[:-1])
  7. # [51234]
  8. 复制代码

47、将字符串中的数字移除

  1. message = ''.join(list(filter(lambda x: (), 'abc123def4fg56vcg2')))
  2. print(message)
  3. # abcdeffgvcg
  4. 复制代码

48、矩阵变换

  1. old_list = [[123], [346], [567]]
  2. result = list(list(x) for x in zip(*old_list))
  3. print(result)
  4. # [[135], [246], [367]]
  5. 复制代码

49、列表过滤

  1. result = list(filter(lambda x: x % 2 == 0, [123456]))
  2. print(result)
  3. # [246]
  4. 复制代码

50、解包

  1. a, *b, c = [12345]
  2. print(a) # 1
  3. print(b) # [234]
  4. print(c) # 5
  5. ```学习必备的50条非常有趣且实用的Python一行代码
  6. 复制代码