Python中函数和方法的区别:调用方法时候需要使用点(.)语法,而函数可以直接调用;方法是类的内置功能,函数一般用来实现通用集合功能。
一、Python中列表函数及功能如下:
1、len函数,用于返回集合中元素的数量,即可作用于列表,也可作用于字符串和其他的集合类型。
2、max与min函数,仅适用于所有字符串均为数字或者字符的单一类型列表,按照数字大小排序或者按照字母表排序来确定最大值或者最小值;
3、sorted函数,将列表中的元素按照类型排列,并生成新的列表;
4、reserved函数,将列表中的元素倒序排列
5、sum函数,用于列表中数字元素的求和
代码举例如下:
a_list=[120,-100,-3,3000]
print("length of the list is ",len(a_list))
print('max and min are ',max(a_list),min(a_list))
print(sorted(a_list))
print(tuple(reversed(a_list)))
print('the average is ',sum(a_list)/len(a_list))
代码运行结果如下:
length of the list is 4
max and min are 3000 -100
[-100, -3, 120, 3000]
(3000, -3, -100, 120)
the average is 754.25
分别对应着代码中的五个输出值。

二、列表修改方法
List.append(value),在原列表的后面增加一个新元素
List.clear(),清除列表中的全部内容
List.extend(iterable),在原列表后面增加一个或者多个元素
List.insert(index,value),在原列表指定位置添加一个元素
List.remove(value),删除原列表中发现的第一个元素
借用教材中的例子,计算体操比赛中的得分,代码如下
def eval_score(a_list):
a_list.remove(max(a_list))
a_list.remove(min(a_list))
return sum(a_list)/len(a_list)
the_scores=[8.5,6.0,8.5,8.7,9.9,9.0]
print(eval_score(the_scores))
去掉最高分、最低分,然后生成新列表,计算平均成绩之后的结果为8.675
也可以尝试通过extend添加更多的评委评分,然后重新去掉最高分、最低分计算平均值。

三、获取列表信息的方法
List.count(value),用于计算列表中某一值出现的次数
List.index(value[,beg[,end]]),同于查找列表中两个元素之间的值首次出现的位置
List.pop([index]),删除对应指引位置的元素
代码举例如下:
b_list=[2,2,2,3,3,5,[2,3,3,5]]#列表中共7个元素,其中第七个元素为一个列表#
print(b_list.count(2))
print(b_list.count(3))
print(b_list.count([2,3,3,5]))
print(b_list.index(2,0,2))
运行结果如下:
3
2
1
0
可以参考代码来了解每行的意义。其中列表中的第七个元素为一个列表,但是在对外层列表使用count方法的时候,对列表内的元素是不适用的。
四、重新排序的列表方法
Sort和reserve除了可以用于列表函数之外,也可以放在列表点号(.)的后面,作为方法来使用。
继续运行书中的案例:输入姓名并按照字母顺序将姓名排序
def main():
name_list=[]
while True:
name=input('enter your name: ')
if len(name)==0:
break
name_list.append(name)
name_list.sort()
print('here is the sorted list:')
for word in name_list:
print(word,end=' ')
main()
运行结果为:
enter your name: Jane
enter your name: Ann
enter your name: Emily
enter your name: Joe
enter your name: Bill
enter your name:
here is the sorted list:
Ann Bill Emily Jane Joe
逐个输入姓名,当出现空字符的时候,输入截至,并自动按照字母顺序将姓名排序;此种情况下,需要思考首字母的大小写,在ASCII码中,小写字母始终在大写字母后面。

#加油!
#一点一滴的努力,未来都会有回报。
#岁月静好,不去羡慕旁人,只做好自己,花朵总会绽放。
#以上学习感悟来自于《高阶Python代码精进之路》([美]Brain Overland, John Bennett著,李辉,韩慧昌译,中国工信出版集团电子工业出版社2022年4月出版)




