**1、列表:**是一个数据的集合,可以放任何数据类型,可对其内部数据进行方便的增删查改操作。 **2、列表语法:**L=【】定义空列表。L1=【"a","b","c","d"】存4个值,索引为:从坐到右为0-3,从右到左为-1到-4。L2=【"abc",["def","ghi"]】嵌套列表。 3、列表的功能:创建,查询,切片,增加,修改,删除,循环,排序。 **①创建:**有2种方法,一为L=【】;二为L=list()。一般用第一种。 **②查询:**通过索引(下标)取值。如L1=【"a","b","c","d"】,要取“b”时,L1[1]或者L1[-3]即可取出。 **③查找列表内数据的索引值的函数:**L.index(“要查询的数据”)如: L=["a","a","a",5,6,7,8,9,23,465,767],L.index(465)=9。如果要查询索引的数据有重复的,则只返回按左到右顺序的第一个数据的下标。 ④查询列表内重复数据的个数:函数为L.count(“要查询的数据”)。L=["a","a","a",5,6,7,8,9,23,465,767],L.count(“a”)=3。 **⑤切片:**函数为L【:】。比如,要取列表前3个数据,为L【0:3】=['a', 'a', 'a'],包括前一个索引对应的值,不包括后一个索引对应的值。如果要取最后3个值,则为L【-3:】后一个索引值不填,两个索引值中,有可以不填,如果前一个索引值为空,则表明从列表第一个数据开始取,后一个索引值为空,则表明取到最后一个数据。且切片只能从左往右切,不如L【-1:-5】就是不正确的。正确的为L【-5:-1】。 分段取值,比如要隔1个取一个数据,函数为L【0:6:2】=['a', 'a', 6]。最后一个索引值要隔的个数,也叫步长。 **⑥追加:**函数为L.append(),括号里为要追加的数据。比如L.append(“pw”)后,L=['a', 'a', 'a', 5, 6, 7, 8, 9, 23, 465, 767, 465, 'pw'],追加的数据默认加在最后。 **⑦插入:**函数为L.insert(0,“”)括号里第一个为要插入的位置的索引,第二个为要插入的数据。比如L.insert(2,“yxx”)后,L=['a', 'a', 'yxx', 'a', 5, 6, 7, 8, 9, 23, 465, 767, 465, 'pw'] **⑧修改:**就是直接赋值。比如要把列表L第3个值改为888,操作为L【2】=888。L就=['a', 'a', 888, 'a', 5, 6, 7, 8, 9, 23, 465, 767, 465, 'pw'] 如果要同时修改多个数据,用切片。比如要修改第5个到第7个数据为“cxp”,“zmx”,“pj”,则函数为L【4:7】=【“cxp”,“zmx”,“pj”】,如果要修改的数据比切片范围的多,则自动在列表里增加。 **⑨删除:**有3种方法: **Ⅰ、**L.pop()括号里为空,自动删除最后一个数据,且该函数返回被删除的最后一个数据。 **Ⅱ、**L.remove(),括号内加上要被删除的数据。如L.remove(888),则L列表里就没有888这个数据了。如果列表有重复的数据,则remove函数只删除第一个数据。 **Ⅲ、**del L.【】,中括号里为要删除的数据的索引值。比如del L【-1】,则最后一个数据被删除。del函数不仅可以删除列表内数据,还可以删除整个列表,为del L,再输入L,则返回错误(因为已经被删除)。del还可以批量删除列表内数据,如del L【2:6】表示删除L列表里第3到第6个数据。 ⑩循环:用for i in L: print(“i”) range(10)就是生成一个0到9的列表。 **for循环和while循环的区别:**while循环可以是死循环,循环多少次依据其条件来判定,for循环是有边界的。 ⑪排序 **Ⅰ、顺序排序:**L.sort()括号里为空。这种必须保持列表里的数据必须是同一数据类型,全部为数字或者全部为字母。如果全部是数字类型,从小到大排列,如果是字母或者符号,按照ASCII编码表顺序。 **Ⅱ、倒序排序:**L.reverse()排序规则跟sort类似,只不过是倒过来排序。 **⑫列表拼接:**直接用加号加起来即可,或者用extend函数,L.extend(M):就表明吧L和M列表拼接起来。两种方式效果一样。 **⑬clear函数:**L.clear()吧列表清空,不同于del L.【】函数,1、只是清空列表里的数据,但列表还在,只是变为了空列表,2.clear函数返回空列表,del函数返回错误。