各位小可爱,下午好~
欢迎大家阅读本期文章,我是栗子同学。
2021年,Python还需要学吗?答案是:当然。
栗子有话说:
近些年,Python 的火热有目共睹,作为一种功能强大的高级编程语言,在2018 年的时候它的
流行程度就得到了大幅提高。Python以其语法简洁著称。在学习Python的过程中,总是会发现
Python能够轻而易举地帮助我们解决许多问题。有时候看似复杂的任务,甚至是可以使用一行
Python代码就可以搞定。
下面栗子给大家介绍50个有趣且实用的Python简短代码,让我们一起来感受Python的强大~
正文 1)打印hello world每个人都是从print函数开始的。
print("hello world")
结果:
2)二进制转十进制int("01110", 2) # 2^3+2^2+2 = 8 + 4 + 23)八进制转十进制
int("140",8) #964)十六进制转十进制
int("ac1",16)#27535)生成连续数值列表
list(range(9))# [0, 1, 2, 3, 4, 5, 6, 7, 8]6)高斯求和
一行代码求解高斯之和:求解1到100的所有数的和
sum(range(1,101)) # range函数不包含101:50507)求解奇、偶数之和
# 除以2余数为0表示偶数 sum(i for i in range(1,101) if i % 2 == 0) # 2550
# 除以2余数为0表示奇数 sum(i for i in range(1,101) if i % 2 != 0) # 25008)阶乘
import math # 需要借助第三方的库 math.factorial(6) # 6*5*4*3*2*1 #7209)矩阵转置
矩阵转置就是实现矩阵的行列转换。
list1 = [[1,4,7], [2,5,8], [3,6,9]] # 定义一个嵌套列表 list(list(x) for x in zip(*list1)) # list函数实现 结果:[[1, 2, 3], [4, 5, 6], [7, 8, 9]] [list(x) for x in zip(*list1)] # [] 符号实现 结果:[[1, 2, 3], [4, 5, 6], [7, 8, 9]] for x in zip(*list1): print(list(x)) 结果: [1, 2, 3] [4, 5, 6] [7, 8, 9]10)嵌套列表合并
将多个列表合并成一个大列表
list4 = [[1,2,3],[4,5,6],[7,8,9]] # 定义一个列表 list(item for list5 in list4 for item in list5) # 从大到小 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]11)列表合并
栗子1: a = [1,2,3] b = [4,5,6] a.extend(b) 栗子: a 结果: [1, 2, 3, 4, 5, 6]12)列表反转
list6 = [1,2,3,4,5,6,7] list6[::-1] 结果: [7, 6, 5, 4, 3, 2, 1]13)列表解包
h,*i,j = [1,2,3,4,5] print(h) print(i) print(j) 结果: 1 [2, 3, 4] 514)列表去重
通过将列表转成集合,利用集合的去重性质后再转成列表
list7 = [1,2,3,4,3,2,3,3] list(set(list7)) 结果: [1, 2, 3, 4]15)列表过滤
filter函数的两个参数:
-
指定某个函数
-
待执行的可迭代对象,每个对象执行前面的函数
list(filter(lambda x:x % 3 == 0, [1,3,6,7,9,10])) # 找出3的倍数 结果: [3, 6, 9]16)列表推导式
[number for number in range(0,11)] # [] 结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]17)集合推导式
{number for number in range(0,11)} # {} 结果: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}18)合并集合
栗子1: s1 = {1,2,3} s2 = {4,5,6} s1.update(s2) 栗子2 s1 结果: {1, 2, 3, 4, 5, 6}19)字典推导式
{i:i**3 for i in range(0,5)} # i**3表示i的三次方 结果: {0: 0, 1: 1, 2: 8, 3: 27, 4: 64}20)合并字典
栗子1: d1 = {"name1":"xiaoming","age1": 19} d2 = {"name2":"xiaoming","age2": 28} d1.update(d2) 栗子2: d1 结果: {'name1': 'xiaoming', 'age1': 19, 'name2': 'xiaoming', 'age2': 28}21)if-for
# 寻找3的倍数 [number for number in range(0,20) if number % 3 == 0] 结果: [0, 3, 6, 9, 12, 15, 18]22)if-else
print("偶数") if 8 % 2 == 0 else ("奇数") 偶数 print("偶数") if 9 % 2 == 0 else print("奇数") 奇数23)快速排序
list2 = [9,5,1,6,2,8] # 定义一个列表 sorted(list2) # 默认升序 结果: [1, 2, 5, 6, 8, 9] sorted(list2, reverse=True) # 降序 结果: [9, 8, 6, 5, 2, 1] list3 = ["ac","ab","bb","aa","bc","cd","ca"] sorted(list3) 结果: ['aa', 'ab', 'ac', 'bb', 'bc', 'ca', 'cd']
首先我们按照第一个字母的ASCII来排序,默认是升序;a最小。当第一个字母相同,再按照第二个字母排序
24)字符串转成字节"string to bytes".encode() 结果: b'string to bytes'25)获取26个字母表
import string string.ascii_letters # 大小写 结果: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'26)获取大写字母表
string.ascii_uppercase 结果: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'27)获取小写字母表
string.ascii_lowercase 结果: 'abcdefghijklmnopqrstuvwxyz'28)字符串大小写转化
"Hello! My name is Peter".lower() # 转成小写 结果: 'hello! my name is peter' # 转成小写的另一种写法 "Hello! My name is Peter".casefold() 结果: 'hello! my name is peter' "Hello! My name is Peter".upper() # 转成全部大写 结果: 'HELLO! MY NAME IS PETER' "Hello! My name is Peter".title() # 转成首字母大写 结果: 'Hello! My Name Is Peter'29)寻找最长字符串
list7 = ["c","html","javascript","java"] max(list7, key=len) # key参数指定函数 结果: 'javascript' max(list7) # 默认 结果: 'javascript'30)删除字符串中的数字
"".join(list(filter(lambda x: x.isalpha(), "abcde12hk18"))) 结果: 'abcdehk' list(filter(lambda x: x.isalpha(), "abcde12hk18")) 结果: ['a', 'b', 'c', 'd', 'e', 'h', 'k']31)列表中的字符串变成数值
list(map(int, ["10","90","50"])) 结果: [10, 90, 50]32)字符串反转
"python"[::-1] 结果: 'nohtyp'33)交换变量
a, b = 5, 8 # 定义两个变量 print("交换前a:",a) print("交换前b:",b) 结果: 交换前a: 5 交换前b: 8 a, b = b, a # 一行代码交换 print("交换后a:",a) print("交换后b:",b) 结果: 交换后a: 8 交换后b: 534)数据类型检查
isinstance(5,int) # 数值 结果: True isinstance("python",int) 结果: False isinstance("python",str) # 字符串 结果: True isinstance([1,3,6],list) # 列表 结果: True35)斐波那契数列
fibo = lambda x: x if x <= 1 else fibo(x-1) + fibo(x-2) fibo(10) 结果: 5536)统计词频
统计字符串中单个字符的次数
"javascript".count("a") 结果: 2 "javascript".count("s") 结果: 1 "hello".count("l") 结果: 237)统计列表元素个数
import pandas as pd list10 = [1,3,4,6,1,2,3,1,1,2,5,6,2] pd.value_counts(list10) 结果: 1 4 2 3 3 2 6 2 4 1 5 1 dtype: int6438)统计字符串元素个数
from collections import Counter Counter("abcdeabcdabcaba") 结果: Counter({'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1})39)统计最多元素
list10 = [1,3,4,6,1,2,3,1,1,2,4,6,2] max(list10, key=list10.count) # 元素1最多 结果: 1 min(list10, key=list10.count) # 元素3最少,只出现一次 结果: 340)当前时间
import time time.time() # 时间戳形式 结果: 1632501677.992713 time.ctime() # 标准形式 结果: 'Sat Sep 25 00:09:18 2021'41)将字符串转换为小写
print("Hi my name is XiaoF".lower()) # 'hi my name is xiaof' print("Hi my name is XiaoF".casefold()) # 'hi my name is xiaof'42)将字符串转换为字节
print("hi my name is XiaoF".upper()) # 'HI MY NAME IS XIAOF'43)拷贝文件
import shutil shutil.copyfile('source.txt', 'dest.txt')44)运行一个HTTP服务器
python3 -m http.server 8000 python2 -m SimpleHTTPServer45)无限循环
while 1:046)时间戳
import time print(time.time())47)日期时间
import time print(time.ctime()) # Thu Aug 13 20:00:00 202148)将字符串中的数字移除
message = ''.join(list(filter(lambda x: x.isalpha(), 'abc123def4fg56vcg2'))) print(message) # abcdeffgvcg49)列表过滤
result = list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5, 6])) print(result) # [2, 4, 6]50)解包
a, *b, c = [1, 2, 3, 4, 5] print(a) # 1 print(b) # [2, 3, 4] print(c) # 5结尾
好啦!文章写到这里结束啦,快来学习新知识啦~
源码基地:点下面这行蓝色字体即可。源码基地:点击即可加入哦!文章的一些免费代码、解答等都可以在这里进行!
文章汇总1.0 20201——已收录文章汇总 ——持续更新!直接看这篇文章啦~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)