0

0

Python编程必知的12个必备代码片段

WBOY

WBOY

发布时间:2023-04-26 15:52:08

|

2177人浏览过

|

来源于51CTO.COM

转载

12 个用于日常编程的杀手级 Python 代码片段

1、正则表达式

正则表达式是 Python 中匹配模式、搜索和替换字符串、验证字符串等的最佳技术。现在,您无需为此类工作使用循环和列表。

查看以下关于验证电子邮件格式的正则表达式片段代码示例:

# Regular Expression Check Mail
import re
def Check_Mail(email):
 pattern = re.compile(r'([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(.[A-Z|a-z]{2,})+')
 if re.fullmatch(pattern, email):
 print("valid")
 else:
 print("Invalid")
Check_Mail("codedev101@gmail.com") #valid
Check_Mail("codedev101-haider@uni.edu")#Invalid
Check_Mail("code-101-work@my.net") # Invalid

2、Pro Slicing

这个简单的代码片段将帮助您像专业人士一样对列表进行切片。查看下面的示例代码:

# Pro Slicing
# list[start:end:step]
mylist = [1, 2, 3, 5, 5, 6, 7, 8, 9, 12]
mail ="codedev-medium@example.com"
print(mylist[4:-3]) # 5 6 7
print(mail[8 : 14]) # medium

3、Swap without Temp

您是否使用 Temp 变量来交换两个数据,而不是在 Python 中您不需要使用它?在此代码段中,我将与您分享如何在不使用 temp 的情况下交换两个数据变量。

查看下面的代码:

# Swap without Temp
i = 134
j = 431
[i, j] = [j, i]
print(i) #431
print(j) #134

4、Magic of F-string

我们可能使用 format() 方法或“%”方法来格式化字符串中的变量。这段代码将向您介绍 F 字符串,它比另一种格式要好得多。

看看下面的示例代码:

# Magic of f-String
# Normal Method
name = "Codedev"
lang = "Python"
data = "{} is writing article on {}".format(name, lang)
print(data)
# Pro Method with f-string
data = f"{name} is writing article on {lang}"
print(data

5、获取索引

现在您不再需要 Loop 来查找特定元素的索引。您可以使用列表中的 index() 方法来完成。

查看下面的代码:

# Get Index
x = [10 ,20, 30, 40, 50]
print(x.index(10)) # 0
print(x.index(30)) # 4
print(x.index(50)) # 2

6、基于Another List的排序列表

此代码段将向您展示如何根据另一个列表对列表进行排序。当您需要根据所需的位置进行排序时,此代码段非常方便。

iWebMall多用户商城系统
iWebMall多用户商城系统

iWebMall 是一款高性能高扩展能力的开源 LAMP 电子商务软件,定位为大中型电子商务平台软件,服务于有建立电子商务需求的商业客户。这些商业客户不必学习任何计算机编程代码知识,只需要使用 iWebMall 软件他们就可以轻松建立一个功能强大的网上商城,实现用户注册、产品展示、在线定购、在线支付等电子商务功能;iWebMall 集成了产品发布与查询、会员注册登录、购物车、在线订单、在线支付、在

下载
# Sort List based on another List
list1 =["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m"]
list2 = [ 0, 1, 1, 1, 2, 2, 0, 1, 1, 3, 4]
C = [x for _, x in sorted(zip(list2, list1), key=lambda pair: pair[0])]
print(C) # ['a', 'g', 'b', 'c', 'd', 'h', 'i', 'e', 'f', 'j', 'k']

7、 反转字典

现在您不需要循环来反转任何字典。此代码段代码将在第二次尝试该代码段代码时反转字典。

# Invert the Dictionary
def Invert_Dictionary(data):
 return{value: key for key, value in data.items()}
data = {"A": 1, "B":2, "C": 3}
invert = Invert_Dictionary(data)
print(invert) # {1: 'A', 2: 'B', 3: 'C'}

8、多线程

多线程将帮助您同时并行运行 Python 函数。假设您想同时执行 5 个函数,而无需等待每个函数完成。

查看下面的代码段:

# Multi-threading
import threading
def func(num):
 for x in range(num):
 print(x)
if __name__ == "__main__":
 t1 = threading.Thread(target=func, args=(10,))
 t2 = threading.Thread(target=func, args=(20,))
 t1.start()
 t2.start()
 t1.join()
 t2.join()

9、列表中出现最多的元素

此片段代码将简单地计算列表中出现次数最多的元素。我已经展示了两种方法来做到这一点。

在下面查看它:

# Element Occur most in List
from collections import Counter
mylst = ["a", "a", "b", "c", "a", "b","b", "c", "d", "a"]
# Method 1
def occur_most1(mylst):
 return max(set(mylst), key=mylst.count)
print(occur_most1(mylst)) # a
# Method 2
# Much Faster then Method 1
def occur_most2(mylst):
 data = Counter(mylst)
 return data.most_common(1)[0][0]
print(occur_most2(mylst)) # a

10、分割线

有一个逐行格式的原始文本,并希望将其分成几行。此代码段将在一秒钟内解决您的问题。

# Split lines
data1 = """Hello to
Python"""
data2 = """Programming
Langauges"""
print(data1.split("n")) # ['Hello to', 'Python']
print(data2.split("n")) # ['Programming', ' Langauges']

11、 将列表映射到字典

此代码段将帮助您将任意两个列表转换为字典格式。要了解它是如何工作的,请查看下面的代码:

# Map List into Dictionary
def Convert_to_Dict(k, v):
 return dict(zip(k, v))
k = ["a", "b", "c", "d", "e"]
v = [1, 2, 3, 4, 5]
print(Convert_to_Dict(k, v)) # {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

12、解析电子表格

现在您不需要 Pandas 或任何其他外部 Python 包来解析电子表格。Python 有一个内置的 CSV 模块,这段代码将向您展示如何使用它。

# Parse Spreadsheet
import csv
#Reading
with open("test.csv", "r") as file:
 csv_reader = csv.reader(file)
 for row in csv_reader:
 print(row)
file.close()
#Writing
header = ["ID", "Languages"]
csv_data = [234, "Python", 344, "JavaScript", 567, "Dart"]
with open("test2.csv", 'w', newline="") as file:
 csv_writer = csv.writer(file)
 csv_writer.writerow(header)
 csv_writer.writerows(csv_data)

相关专题

更多
vlookup函数使用大全
vlookup函数使用大全

本专题整合了vlookup函数相关 教程,阅读专题下面的文章了解更多详细内容。

26

2025.12.30

金山文档相关教程
金山文档相关教程

本专题整合了金山文档相关教程,阅读专题下面的文章了解更多详细操作。

28

2025.12.30

PS反选快捷键
PS反选快捷键

本专题整合了ps反选快捷键介绍,阅读下面的文章找到答案。

25

2025.12.30

表格中一行两行的方法
表格中一行两行的方法

本专题整合了表格中一行两行的相关教程,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

cpu温度过高解决方法大全
cpu温度过高解决方法大全

本专题整合了cpu温度过高相关教程,阅读专题下面的文章了解更多详细内容。

5

2025.12.30

ASCII码介绍
ASCII码介绍

本专题整合了ASCII码相关内容,阅读专题下面的文章了解更多详细内容。

31

2025.12.30

GPS是什么
GPS是什么

本专题整合了GPS相关内容,阅读专题下面的文章了解更多详细内容。

3

2025.12.30

wifi拒绝接入
wifi拒绝接入

本专题整合了wifi拒绝接入相关教程,阅读下面的文章了解更多详细方法。

9

2025.12.30

丰网速运介绍
丰网速运介绍

本专题整合了丰网速运查询入口以及相关内容,阅读专题下面的文章了解更多内容。

3

2025.12.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.3万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 2.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号