列表
创建列表和创建普通变量一样,用中括号括起来一堆数据就可以,数据用逗号分开。
-
创建列表:
number = [1,2,3,4,5]
中括号内可写任意数据类型(可包括列表) -
向列表添加元素
number.append(value)
一次性只能添加一个元素
number.extend(value,value)
可添加多个元素,用逗号隔开
number.insert(index,value)
可指定下标添加元素,下标从0开始 -
从列表获取元素
跟数组一样通过元素的索引取值,索引从0开始
-
从列表删除元素
number.remove(value)
需指定某个存在的元素值。不能指定索引,如果不存在使用remove会报错
del number[index]
是一个语句不是列表的方法,可指定元素所在的索引删除元素。注意:如果不加【index】会把整个列表删除
number.pop()
删除最后一个元素,删除并输入被删除的元素值
number.pop(index)
可指定索引删除元素,删除并输入被删除的元素值 -
列表分片
一次性可取多值,利用索引值可去取指定索引范围内的值(列表分片是建立原列表的一个拷贝或者说是副本)
number[index1:index2:step]
index1:开始索引(如果不指定开始索引默认从0开始)
index2:结束索引 (如果不指定结束索引默认到最后一个元素)
step:步长(默认是1,就是间隔多少个元素,如果设为-1会变成倒序。列表) -
- 列表操作符
>>>list1 = [123] >>>list2 = [456] >>>lsit1 > list2 >>>False >>> #第二个例子 >>>list1 = [123,456] >>>list2 = [234,567] >>>list1 > list2 >>>False
如果列表元素为整型:会去比较第一个元素的大小,依次比较
如果是字符串会把元素转换为ASCII码值比较,也是先从第一个元素比较,然后依次比较>>>list1 = [123,456] >>>list2 = [234,567] >>>list1 + list2 >>>[123,456,234,567]
“+”相当于连接操作符,它允许把多个列表对象合并起来,也就相当于extend(),为了规范和专业不能使用“+”合并列表对象
>>>list1 = [123] >>>list1 * 3 >>>[123,123,123]
“*”重复操作符,相当于把列表元素赋值N遍
>>>list1 = ['小猪','小猫',['小甲鱼','小护士'],'小狗'] >>>'小甲鱼' in list1 >>>False >>>'小猪' in list1 >>>True >>>'小甲鱼' not in list1 >>>True >>>'小猪' not in list1 >>>False
in ,not in只能判断一个层次的成员关系 (如果想访问列表中的列表跟C访问二维数组一样list1[2][0])
-
列表的“小伙伴”
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
count(vaule)
计算这个元素在列表i中出现的次数
index(value)
返回参数在列表中的位置
reverse()
将整个列表原地翻转(倒序)
sort()
将整个列表按正序排列