30个神奇的Python技巧来编写更好的代码(下)

本文分享了Python中的30个实用技巧,包括不可变对象、数学四舍五入、布尔值返回、Lambda函数、列表操作、字典合并等,助你提升编程效率。

Hello,大家好,我是程序汪小陈~

今天我将继续分享30个神奇的Python技巧下部分给大家

技巧16-将可变项转换为不可变项

函数frozenset()用于将可变的可迭代对象转换为不可变对象。 使用此方法,我们可以冻结对象的值更改。

my_list = [1,2,3,4,5] 
my_list = frozenset(my_list) 
my_list[3]=7 
print(my_list) 

输出量

Traceback (most recent call last): File "<string>", line 3, in <module>TypeError: 'frozenset' object does not support item assignment 

当我们将frozenset()函数应用于列表时,项目分配受到限制。

技巧17-用floor和Ceil四舍五入

Floor和Ceil是数学函数,可用于浮点数。 floor函数返回的整数小于浮点数,而ceil函数返回的整数大于浮点数。 要使用此功能,我们必须导入数学模块。

import math 
my_number = 18.7 
print(math.floor(my_number)) 
print(math.ceil(my_number)) 

输出量

1819 

技巧18-返回布尔值

有时我们必须通过检查某些参数的条件来返回布尔值。 代替编写if语句,我们可以直接返回条件。 以下程序将产生相同的输出。

方法I-使用其他条件

def function(n):  
    if(n>10):  
    return True  
    else: return False 

n = int(input()) 
if(function(n)):  
   print("Eligible") 
else:  
    print("Not Eligible") 

方法II-无其他条件

def function(n):  
    return n>10 

n = int(input()) 

print("Eligible") if function(n) else print("Not Eligible") 

输出量

Eligible 

技巧19-一行创建函数

Lambda是python中的匿名函数,可在一行中创建函数。 这里给出了使用lambda函数的语法。

语法:lambda 参数:表达式

x = lambda a,b,c : a+b+c 
print(x(10,20,30)) 

输出量

60 

技巧20-将功能应用于列表中的所有元素

map是一个高阶函数,它对列表中的所有元素应用特定功能。

语法:map(函数,可迭代)

my_list = ["felix", "antony"] 
new_list = map(str.capitalize,my_list) 
print(list(new_list)) 

输出量

['Felix', 'Antony'] 

技巧21-将Lambda与map功能配合使用

该函数可以用python中的lambda函数替换。 创建以下程序以创建数字列表的平方。

my_list = [1, 2, 3, 4, 5] 
new_list = map(lambda x: x*x, my_list) 
print(list(new_list))
 

输出量

[1, 4, 9, 16, 25] 

技巧22-从函数返回多个值

python函数可以返回多个值,而无需任何额外的需要。 我们可以通过用逗号分隔它们来返回值。

def function(n):  
    return 1,2,3,4 

a,b,c,d = function(5) 
print(a,b,c,d) 

输出量

1 2 3 4 

技巧23-使用filter函数过滤值

filter函数用于过滤可迭代对象中的某些值。 filter函数的语法如下。

语法:filter(函数,迭代)

def eligibility(age):  
    return age>=24 

list_of_age = [10, 24, 27, 33, 30, 18, 17, 21, 26, 25] 
age = filter(eligibility, list_of_age) 
print(list(age)) 

输出量

[24, 27, 33, 30, 26, 25] 

技巧24-用Python合并两个字典

在python中,我们可以合并两个字典,而无需任何特定方法。 下面的代码是合并两个字典的示例。

dict_1 = {'One':1, 'Two':2} 
dict_2 = {'Two':2, 'Three':3} 
dictionary = {**dict_1, **dict_2} 
print(dictionary) 

输出量

{'One': 1, 'Two': 2, 'Three': 3} 

技巧25-获取对象的大小

内存大小根据对象的类型而变化。 我们可以使用sys模块中的getsizeof()函数获取对象的内存。

import sys 
a = 5 
print(sys.getsizeof(a)) 

输出量

28 

窍门26-将两个列表组合成字典

邮编功能在python中有很多优点。 使用zip函数,我们可以从两个列表创建字典。

list_1 = ["One","Two","Three"] 
list_2 = [1,2,3] 
dictionary = dict(zip(list_1, list_2)) 
print(dictionary) 

输出量

{'Two': 2, 'One': 1, 'Three': 3} 

技巧27-计算程序的执行时间

时间是python中另一个有用的模块,可用于计算执行时间。

import time 
start = time.clock() 
for x in range(1000):  
  pass 
end = time.clock() 
total = end - start 
print(total) 

输出量

0.00011900000000000105 

技巧28-删除列表中的重复元素

发生多次的元素称为重复元素。 我们可以使用类型转换简单地删除重复的元素。

my_list = [1,4,1,8,2,8,4,5] 
my_list = list(set(my_list)) 
print(my_list) 

输出量

[8, 1, 2, 4, 5] 

技巧29-用python打印月历

日历模块具有许多与基于日期的操作有关的功能。 我们可以使用以下代码打印每月日历。

import calendar 
print(calendar.month("2020","06"))
 

输出量

June 2020 
Mo Tu We Th Fr Sa Su  
1 2 3 4 5 6 7  
8 9 10 11 12 13 14 
15 16 17 18 19 20 21 
22 23 24 25 26 27 28 
29 30 

技巧30-使用zip功能进行迭代

zip函数允许使用循环迭代多个可迭代的过程。 在下面的代码中,两个列表同时被迭代。

list_1 = ['a','b','c'] 
list_2 = [1,2,3] 
for x,y in zip(list_1, list_2): 
  print(x,y) 

输出量

a 1b 2c 3 

最后

30个神奇的Python技巧到这里就结束了,

喜欢的小伙伴可以点个赞哦~

感谢你的支持

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值