大家好,今天继续学习Python基础知识,顺便提醒一下,大家在学习新知识之余,也要及时的回顾一下之前所学的知识。
今天主要学习列表相关知识:
什么是列表
列表的表示方法
访问列表元素
列表的拼接
删除和添加列表
反向输出
列表的排序
1、什么是列表
什么是列表,列表是由一系列按特定顺序排列的元素组成。比如说,可以是字母组成的列表,也可以是数字组成的列表,也可以是没有任何关系的元素组成的列表。鉴于列表包含多个元素,一般会用复数名称来表示,如(letters)。
2、列表的表示方法
Python中,用[ ]来表示列表,并用逗号来分割其中的元素。比如:
numbers=[1,2,3,4,5]
letters=[‘a’,’b’,’c’]
3、访问列表元素
列表是有序集合,因此要访问列表元素,只需要将元素位置和索引告诉python即可。
在Python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此。因此可以通过索引的方式找到每个元素,不过Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定 为-1 ,可让Python返回最后一个列表元素。此外,可以通过冒号表示来表示索引的范围,从而输出一个新的列表,举例如下:
4、列表的拼接
①用“+”运算符完成列表的拼接。如下:
②使用extend方法,将上例更改如下:
5、删除和添加列表
1) 添加元素
①在列表末尾添加新元素,使用append(new)方法,示例如下:
②在列表中插入元素,即需要索引号和元素值。用insert(索引号,元素值),示例如下:
倘若插入的索引号超过列表长度,也会自动补齐,如下例,插入索引值为10的元素,查询整个列表长度为7,输出列表如:
2) 删除列表
①del 列表[索引],也可以删除列表本身。如:
② pop(index);返回被删除的元素,默认删除最后一个元素。如下例,删除索引为2的元素值,返回索引为2的元素值为3。
③根据值删除元素,remove(‘元素’),即先从列表中找到元素,再从中删除该元素。如下例:
④clear();清除列表。如下例:
6、反向输出
reverse();反向输出列表元素,如下例:
7、列表的排序
1、 使用方法sort()对列表进行永久性排序,永久性的修改了列表元素的排列顺序,再也无法恢复到愿来的顺序。
比如对乱序的字母表进行排序,如下:
又比如对一组列表按首字母排序,也可以使用sort()方法,如:
2、 使用sorted()对列表进行临时排序。
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted() 。函数sorted()让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。如下例:
没有永久性改变顺序,只是临时性改变顺序。
Sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。
1) Sorted函数按key值对字典排序。
2) Sorted函数按照value值对字典排序。
要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法。lambda x:y中x表示输出参数,y表示lambda函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。
如下例:
这里的person.items()实际是将person转换为可迭代的对象,跌点对象的元素为(‘wangxin’:25,‘liula’:21,‘lihui’:29,‘zhaole’:20)。items()方法将字典元素转换为元组,而这里的key参数对应的lambda表达式的意思是选取元祖中的第二个元素作为比较参数,比如写作(key=lambda iitem:item[0]的话则是选取第一个元素作为比较对象,即是key作为比较对象),此方法和key比较方法排序结果相同,但是后者的结果是一元组输出的,而前者结果是以值为序输出的。
如下例:
可以清楚的看到,两者的排序输出结果是一致的,只是输出的参数不同。
好啦,今天的分享到此结束,祝大家生活愉快哦!
参考博客一
参考博客二