python列表类型如何_Python数据结构之列表类型(list)

数据结构之列表类型(list)

列表说明

索引和切片

增加元素到列表

删除列表元素

更改列表元素

查看列表元素

列表脚本操作符

列表截取与拼接

嵌套列表

列表内置函数

一、列表说明

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

列表是一个可变的数据类型

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

Python已经内置确定序列的长度以及确定最大和最小的元素的方法

列表的数据项不需要具有相同的类型

列表由 [ ] 来表示, 每一项元素使用逗号隔开. 列表什么都能装. 能装对象的对象;

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

>>> li = ["zjk",123,"python"]>>> li2 = [1,2,3,4,5]>>> li3 = ["a","b","c"]

二、索引和切片

列表和字符串一样. 也有索引和切片. 只不过切出来的内容是列表;

索引的下标从0开始;

切片的表达形式:[起始位置:结束位置:步长]

二、增加元素到列表

向列表中添加元素有三种基本方法:

append()、insert()、extend()

1.append(obj),表示向列表的末尾追加一个元素obj,这个obj被当做一个整体添加到列表的末尾处;

例如:

>>> li = [1,2,3,4]>>> li.append("abc")>>> print(li)

[1, 2, 3, 4, 'abc']

2.insert(index,obj),表示在索引index位置添加一个obj元素,obj元素是一个整体;

例如:

>>> li.insert(1,["a","b","c"])>>> print(li)

[1, ['a', 'b', 'c'], 2, 3, 4]

3.extend( iterable),表示向列表的末尾处添加一个可迭代对象,iterable被叠加到列表的末尾处;

例如:

>>> li = [1,2,3,4]>>> li.extend(["a","b","c"])>>> print(li)

[1, 2, 3, 4, 'a', 'b', 'c']

三、删除列表元素

删除列表中的元素有四种基本方法:

pop()、remove()、del 切片、clear()

1.pop(index),表示通过索引位置剪切走一个元素,

例子:

>>> li = [1,2,3,4]>>> a = li.pop(1)>>> print(li,a)

[1, 3, 4] 2

2.remove(),搜索元素然后直接在列表中删除;

例子:

>>> li = [1,2,3,4]>>> li.remove(3)>>> print(li)

[1, 2, 4]

3.del 切片,通过索引或切片的方式进行删除;

例子:

>>> li = [1,2,3,4]>>> delli[0]>>> print(li)

[2, 3, 4]>>> del li[0:2]>>> print(li)

[4]

4.clear(),清空整个列表;

例子:

>>> li = [1,2,3,4]>>>li.clear()>>> print(li)

[]

四、更改列表元素

1.索引修改;

例子:

>>> li = [1,2,3,4]>>> li[0] = "a"

>>> print(li)

['a', 2, 3, 4]

2.切片修改:

这边需要注意的是,如果切片的步长为1,则不用关心赋值的参数问题,如果步长值不为1则是几就要添加几个参数;

例子:

----------------步长值为1,元素可以随意添加---------------------------

>>> li = [1,2,3,4]>>> li[1:3] = "abcdefg"

>>> print(li)

[1, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 4]

--------------步长值为2,元素必须是两个元素---------------------------->>> li = [1,2,3,4]

>>> li[0::2] = "abc","kkk"

>>> print(li)

['abc', 2, 'kkk', 4]

五、查看列表元素

查询列表中的元素可以使用索引方式,也可以使用for循环的方式;

索引方式或切片方式查询:

例子:

-----------------索引方式--------------------------

>>> li[0::2] = "abc","kkk"

>>> print(li)

['abc', 2, 'kkk', 4]----------------切片方式---------------------------

>>> print(li[0:3])

[1, 2, 3]

for循环方式查询:

>>> li = [1,2,3,4]>>> for n inli:

...print(n)

...1

2

3

4

六、列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

python列表类型如何_Python数据结构之列表类型(list)_第1张图片

七、列表截取与拼接

python列表类型如何_Python数据结构之列表类型(list)_第2张图片

八、嵌套列表

使用嵌套列表即在列表里创建其它列表,通过降维. 一层一层看;

>>> li = ["a","b","c",[1,2,3],7,8,"d"]>>> print(li[1])

b>>> print(li[3])

[1, 2, 3]>>> print(li[3][2])3

九、列表内置函数

1.append(self, p_object)

说明:用于在列表末尾添加新的对象;

语法:list.append(obj)

参数:obj ----------> 添加到列表末尾的对象;

返回值:该方法无返回值,但是会修改原来的列表。

实例:

>>> li = [1,2,3]>>> li.append("abc")>>>print(li)

[1, 2, 3, 'abc']

2.clear(self)

说明:用于清空列表,类似于 del a[:]

语法:list.clear()

实例:

>>>print(li)

[1, 2, 3, 'abc']>>>li.clear()>>>print(li)

[]

3.copy(self)

说明:用于浅复制列表,类似于 a[:];

语法:list.copy()

返回值:返回复制后的新列表;

实例:

>>> li1 = ["a","b",[1,2,3],"c"]>>> li2 =li1.copy()>>> print(li2)

['a', 'b', [1, 2, 3], 'c']>>> print(id(li1),id(li2))139844385179656 139844384906184

#可以看出两个列表的内存地址是不一样的

>>> print(id(li1[2][0]),id(li2[2][0]))139844383671616 139844383671616

#可以看出里面的内容地址是一样的

4.count(self, value)

说明:用于统计某个元素在列表中出现的次数

语法:list.count(obj)

参数:obj -------> 列表中统计的对象;

返回值:返回元素在列表中出现的次数;

实例:

>>> li = ["a","b","c","a",1,8,"a"]>>> print(li.count("a"))3

5.extend(self, iterable)

说明:用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表);

语法:list.extend(seq)

参数:seq --------> 元素列表,必须是一个可迭代对象;

返回值:该方法没有返回值,但会在已存在的列表中添加新的列表内容。

实例:

>>> li = [1,2,3,4]>>> li2 = [5,6,7,8]>>>li.extend(li2)>>> print(li)

[1, 2, 3, 4, 5, 6, 7, 8]

6.index(self, value, start=None, stop=None)

说明:用于从列表中找出某个值第一个匹配项的索引位置。

语法:list.index(value)

参数:value --------> 查找的对象;

返回值:返回查找对象的索引位置,如果没有找到对象则抛出异常;

实例:

>>> li = ["a","b","c","a"]>>> print(li.index("a"))

0

>>> print(li.index("a",1))

3

7.insert(self, index, p_object)

说明:用于将指定对象插入列表的指定位置;

语法:list.insert(index,p_object)

参数:index ------> 对象p_object需要插入的索引位置;

p_object ----> 要插入列表中的对象;

返回值:该方法没有返回值,但会在列表指定位置插入对象;

实例:

>>> li = ["a","b","c","a"]>>> li.insert(1,"尼玛的")>>> print(li)

['a', '尼玛的', 'b', 'c', 'a']

8.pop(self, index=None)

说明:用于根据索引移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,相当于剪切;

语法:list.pop(index)

参数:index -------> 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值;

返回值:该方法返回从列表中移除的元素对象;

实例:

>>> li = ["a","b","c","a"]>>> a = li.pop(2)>>> print(li)

['a', 'b', 'a']>>> print(a)

c

9.remove(self, value)

说明:用于根据元素值移除列表中某个值的第一个匹配项;

语法:list.remove(value)

参数:value --------> 列表中要移除的元素

返回值:该方法没有返回值但是会移除两种中的某个值的第一个匹配项。

实例:

>>> li = ["a","b","c","a"]>>> a = li.remove("a")>>> print(li)

['b', 'c', 'a']

10.reverse(self)

说明:用于反向列表中元素;

语法:list.reverse()

返回值:该方法没有返回值,但是会对列表的元素进行反向排序;

实例:

>>> li = ["a","b","c","a"]>>>li.reverse()>>> print(li)

['a', 'c', 'b', 'a']

11.sort(self, key=None, reverse=False)

说明:用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

语法:list.sort(key=None, reverse=False)

参数:key ------> 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -----> 指定排序规则,默认为升序,reverse = True 降序, reverse = False 升序(默认);

返回值:该方法没有返回值,但是会对列表的对象进行排序;

实例:

>>> li = ["Ack","Ync","seq"]>>> li.sort(reverse =True)>>> print(li)

['seq', 'Ync', 'Ack']

你可能感兴趣的:(python列表类型如何)