Py学习  »  Python

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

AirPython • 2 天前 • 12 次点击  

来源:网络


在今天的文章中,我将与您分享12 个日常编程使用的 Python 代码片段,无需编写长代码即可解决问题,从而更好、更智能地编写代码。

废话不多说,让我们开始吧。

1、正则表达式

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

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

# Regular Expression Check Mailimport redefCheck_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"#validCheck_Mail("codedev101-haider@uni.edu")  #InvalidCheck_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 7print(mail[8 : 14]) # medium

3、Swap without Temp

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

查看下面的代码。

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

4、Magic of F-string

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

看看下面的示例代码。

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

5、获取索引

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

查看下面的代码。

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

6、基于Another List的排序列表

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

# Sort List based on another Listlist1 =  ["a"

"b""c""d""e""f""g""h""i""j""k""l""m"]list2 = [ 01112201134]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 Dictionarydef Invert_Dictionary(data):return  {value: key for key, value indata.items()}
data = {"A"1"B":2"C"3}invert = Invert_Dictionary(data)print(invert) # {1'A'2'B'3'C'}

8、多线程

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

查看下面的代码段。

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

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

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

在下面查看它。

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

10、分割线

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


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

11、 将列表映射到字典

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

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

12、解析电子表格

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

# Parse Spreadsheetimport csv#Readingwithopen("test.csv", "r") asfile:    csv_reader = csv.reader(file)forrowin csv_reader:        print(row)file.close()#Writingheader = ["ID""Languages"]csv_data = [234"Python"344"JavaScript"567"Dart"]withopen("test2.csv"'w', newline="") asfile:    csv_writer = csv.writer(file)    csv_writer.writerow(header)    csv_writer.writerows(csv_data)

总结

以上就是我与大家分享的 12 个 Python 代码段,您可以在项目中使用它们或解决日常开发问题。

图片

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/186485
 
12 次点击