好用到起飞的 Python 技巧!
Python简单易学,现今非常流行。Python被用于各种场景,如数据科学、机器学习、web开发、脚本编制、自动化等等。
Python的简单易学性在数据科学非常重要。尽管一些数据科学家有计算机科学背景或了解其他编程语言,但仍有许多数据科学家来自各类专业,如统计学、数学或其他技术学科,当他们刚进入这个行业时,可能并没有那么多编程知识。Python语法易于理解和编写的优势,使它成为一种流行于快速且易于学习的编程语言。
在本文中,云朵君将和大家一起学习40个可以帮助你加快数据处理效率的的方法和技巧,希望对你有所帮助。
01列表推导式
列表的元素可以在一行中循环遍历。
numbers=[1,2,3,4,5,6,7,8]
even_numbers=[numberfornumberinnumbersifnumber%2==0]
print(even_numbers)
输出
[1,3,5,7]
同样可以使用字典、集合和生成器来完成推导式。
dictionary={'first_num':1,'second_num':2,
'third_num':3,'fourth_num':4}
oddvalues={key:valuefor(key,value)indictionary.items()ifvalue%2!=0}
print(oddvalues)Output:{'first_num':1,
'third_num':3}
02枚举函数
Enumerate(枚举)是一个很有用的函数,用于迭代对象,如列表、字典或文件。该函数生成一个元组,其中包括通过对象迭代获得的值以及循环计数器(从0的起始位置)。当希望根据索引编写代码时,循环计数器就派上用场了。
来看一个示例,其中第一个和最后一个元素会被区别对待。
sentence='JustdoIt'
lenlength=len(sentence)
forindex,elementinenumerate(sentence):
print('{}:{}'.format(index,element))
ifindex==0:
print('Thefirstelement!')
elifindex==length-1:
print('Thelastelement!')
输出
0:J
Thefirstelement!
1:u
2:s
3:t
4:
5:d
6:o
7:
8:I
9:t
Thelastelement!
也可以使用enumerate函数枚举文件。在下面的示例中,在跳出循环之前打印CSV文件的前10行。并且可以在任何文件上使用该函数。
withopen('heart.csv')asf:
fori,lineinenumerate(f):
ifi==10:
break
print(line)
03通过函数返回多个值
在设计函数时,我们经常希望返回多个值。在这里介绍两种典型的方法。
方法一
最简单的是返回一个元组。这种方法通常只在有两个或三个值要返回时使用。但当元组中有更多值时,很容易忘记项目的顺序。
下面的代码部分是一个示例函数,它根据学生的ID号将学生的名字和姓氏作为元组返回。
#返回元组
defget_student(id_num):
ifid_num==0:
return'君','云朵'
elifid_num==1:
return'猴子','小'
else:
raiseException('没有学生的id是:{}'.format(id_num))
当我们使用数字0调用函数时,我们注意到它返回一个具有两个值的元组:'Taha'和'Nate'。
Student=get_student(0)
print('名字:{},姓氏:{}'.format(Student[0],
Student[1]))
输出
名字:君,姓氏:云朵
方法二
第二个选择是返回字典。因为字典是键值对,我们可以对返回的值进行命名,这比元组更直观。
方法二的实现方式和方法一一样,只是返回一个字典。
#返回字典
defget_data(id_num):
ifid_num==0:
return{'first_name':'君',
'last_name':'云朵',
'title':'数据STUDIO',
'department':'A',
'date_joined':'20201001'}
elifid_num==1:
return{'first_name':'猴子',
'last_name':'小',
'title':'机器学习研习院',
'department':'B',
'date_joined':'20201019'}
else:
raiseException('没有员工的id是:{}'.format(id_num))
当结果是字典时,通过键引用特定值会更容易。我们正在调用id_num=0的函数。
employee=get_data(0)
print('first_name:{},nlast_name:{},ntitle:{},ndepartment:{},ndate_joined:{}'.format(
employee['first_name'],employee['last_name'],
employee['title'],employee['department'],
employee['date_joined']))
输出
first_name:君,
last_name:云朵,
title:数据STUDIO,
department:A,
date_joined:20201001
04像在数学中一样比较多个数字
如果有一个值并希望将其与其他两个值进行比较,可以使用以下基本数学表达式:1
这就是我们在小学学到的代数表达式。同样的语句也可以在Python中使用。你应该用过如下的比较方式:
1<30
在Python中实现上述比较方式的另一种比较方法是:1
x=5
print(1
输出
True
05将字符串转换为字符串列表
假设将函数的输入作为字符串,但它应该是这样的列表:
输入=[[1,2,3],[4,5,6]]
其实无需处理复杂的正则表达式,只需导入模块'ast'并调用其函数literal_eval:
importast
defstring_to_list(string):
returnast.literal_eval(string)
string="[[1,2,3],[4,5,6]]"
my_list=string_to_list(string)
print(my_list)
输出
[[1,2,3],[4,5,6]]
06For-Else方法
此方法用于在列表上应用循环。通常,当你想遍历你应用的列表时,可以使用for循环。但是在这种方法中,你可以在循环中传递一个else条件,这种情况极为罕见。其他编程语言不支持这种方法。
看看它在一般情况下是如何工作的:如果要检查列表中是否有偶数。
number_List=[1,3,7,9,8]
fornumberinnumber_List:
ifnumber%2==0:
print(number)
break
else:
print("Noevennumbers!!")
输出
8
如果找到偶数,则将打印该数字,并且else部分将不会执行,因为我们传递了一个break语句。如果break语句从不执行,则else块将执行。
07从列表中找到N个最大/小的元素
通过使用'heapq'模块,你可以从列表中找到n-largest或n-smallest元素。
importheapq
numbers=[80,25,68,77,95,88,30,55,40,50]
print(heapq.nlargest(5,numbers))
print(heapq.nsmallest(5,numbers))
输出
[95,88,80,77,68][25,30,40,50,55]
08函数参数以列表值传递
可以使用'*'访问列表的所有元素。
defSummation(*arg):
sum=0
foriinarg:
sum+=i
returnsum
result=Summation(*[8,5,10,7])
print(result)
输出
30
09重复整个字符串
只需将字符串乘以一个数字,即希望字符串重复的次数。
value="数据STUDIO"
print(value*3)
print("-"*31)
输出
数据STUDIO数据STUDIO数据STUDIO
----------------------------
10从列表中找到元素的索引
使用".index"从列表中查找元素的索引。
cities=['Vienna','Amsterdam','Paris','Berlin']
print(cities.index('Berlin'))
以上内容为大家介绍了好用到起飞的Python技巧!,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/
相关推荐HOT
更多>>python并集是什么意思?
python并集是什么意思?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。以属于A或属于B的元素为元素的集合成为A与B的并集。1、概念...详情>>
2023-11-14 16:44:05python框架是什么
python框架是什么1、说明Python开发框架大大减少了开发者不必要的重复劳动,提高了项目开发效率的同时,还使得创建的程序更加稳定。2、框架类型...详情>>
2023-11-14 14:57:51pythonlstrip()截掉字符
python中lstrip()截掉字符说明1、lstrip()方法用于截掉字符串左边的空格或指定的字符。语法str.lstrip([chars])2、参数分为str、chars。str:原...详情>>
2023-11-14 07:58:15python删除文档的方法
python中删除文档的方法1、delete_one()方法删除文档。delete_one()需要一个查询对象参数。它只删除了第一次出现。2、在删除大量文档时,使用de...详情>>
2023-11-14 06:54:49