python中list举例_Python入门实践10 | 列表(List)

Python入门实践10 ——列表(List)

列表(List)

一、目标

1、列表类似c语言的数组,不过其元素可以是任意类型

2、掌握列表的9大操作

3、学会使用列表的函数和方法

二、要点

1、列表

列表可以看成是一串有序的数据集合,它可以存放任何类型的数据,甚至是不同类型的数据。你可以将它想象成一列队伍,其中有各个国家的人,甚至还要小猫和小狗。

将数据放入一对方括号 [ ] 内来表示列表,数据之间用逗号相隔。

例如,以下是某个四口之家的身高数据列表:

family = [1.73, 1.68, 1.71, 1.89]

列表是一种容器,可以容纳各种数据类型。可类比c语言的打了激素的数组。

列表是一种序列,每个元素都分配一个数字 ,它的位置或索引,第一个索引是0,第二个索引是1,依此类推。

列表可以改变存储的各个元素。

2、列表定义

1)、直接定义和赋值

把逗号分隔的不同的数据项使用方括号括起来即可。

如:family = ["爸爸", "妈妈",["儿子","儿媳","孙子"]];

2)、利用range()快速生成列表。

3、访问列表中的值

使用下标索引来访问列表中的值,列表的第一个元素索引是0,第二个索引是1,依此类推。

列表[整数表达式];

如:family[0]

4、列表的运算

运算

说明

举例

+

拼接列表

ist1 + list2

+=

原列表与右侧列表拼接后变量绑定新列表

list1 += list2

*

生成重复的列表

list1 *3

*=

用原列表生成重复的列表,用变量绑定新生成的列表

list1 *= 2

in / not in

判断一个值是否存在列表中,如果存在则返回True,否则返回False

'lsk' in list1

列表[整数表达式]

通过索引赋值来改变列表元素

list1 [2]

5、列表切片

在Python中处理列表的部分元素,称之为切片。创建切片,可指定要使用的第一个元素和最后一个元素的索引。

格式:

列表[开始索引:结束索引];

如:

list1=[1,2,3];

list2=list1[1:2];

5、列表操作

列表 的十种操作方法:

1)、添加

用append()在list的末尾添加一个元素。

调用格式:

列表.append(插入元素);

如:

list1=[1,2,3];

list1.append(4);

2)、插入

用insert()在某位插入元素。

调用格式:

列表.insert(插入位置,插入元素);

其中插入位置是从0开始计,插入元素的序号。

如:

list2=[1,2,3];

list2.insert(2,8);

print(list2);

3)、弹出

用pop()弹出的是list的最后一个元素。

调用格式:

列表.pop(弹出元素的位置序号,默认-1,最后一个);

如:

list3=[1,2,3];

list3.pop(1);

print(list3);

4)、删除

用remove()可删除list中的任一元素

调用格式:

列表.remove(列表中元素的值);

如:

list4=[1,2,3];

list4.remove(3);

print(list4);

5)、延长

extend()可以延长list

调用格式:

列表.extend(列表);

如:

list5=[1,2,3,4,5];

list5.extend([6,7,8]);

6)、查找

列表的查找主要有:in、not in、count、index,find 前两种方法是保留字,后两种方式是列表的方法。

方法

作用

元素 in list

判断值是否在列表中

元素 not in list

判断值是否不再列表中

List.count(元素)

统计指定值在列表中出现的次数

List. index (元素)

查看指定值在列表中出现的次数

List.find(元素) string类型

如果找到则返回第一个匹配的位置,如果没找到则返回-1,而如果通过index方法去查找的话,没找到的话会报错

max(list)

查找列表最大

min(list)

查找列表最小

7)、排序

调用格式:

list.sort(cmp=None, key=None, reverse=False)

参数

cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。

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

reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

如:

list7 = [10, 20, 1, 45, 99];

list7.sort();

print(list7);

list7.sort(reverse=True);

print(list7);

8)、反转

reverse() 函数用于反向列表中元素。

9)、遍历

通过循环实现列表元素的遍历。

6、列表的函数

序号

函数

说明

1

cmp(list1, list2)

比较两个列表的元素

2

len(list)

列表元素个数

3

max(list)

返回列表元素最大值

4

min(list)

返回列表元素最小值

5

list(seq)

将元组转换为列表

7、列表的方法

序号

方法

说明

1

list.append(obj)

在列表末尾添加新的对象

2

list.count(obj)

统计某个元素在列表中出现的次数

3

list.extend(seq)

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

4

list.index(obj)

从列表中找出某个值第一个匹配项的索引位置

5

list.insert(index, obj)

将对象插入列表

6

list.pop([index=-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

7

list.remove(obj)

移除列表中某个值的第一个匹配项

8

list.reverse()

反向列表中元素

9

list.sort(cmp=None, key=None, reverse=False)

对原列表进行排序

列表(List)——思维导图

三、步骤

1、新建新建ex10.py文件。

2、录入实例中代码。

3、运行。

四、实例(Python 3.0+)

#!/usr/bin/env python

# -*- coding: utf-8 -*-

"""

__title__ = ''

__author__ = 'jungle'

__mtime__ = '2019-08-26'

"""

print("-----------list定义-----------------------");

# 方式1:直接定义和赋值

# 列表可以嵌套,即列表里面的元素可以是列表,此外列表中的元素数据类型可以不一致

family = ["爸爸", "妈妈",["儿子","儿媳","孙子"]]

print(family) ;

print(type(family));

# 方式2:利用range快速生成列表

# range(start, stop, step) 以步长为step生成范围为[start, stop)的列表

# 在Python2里用range()可以直接生成列表,但在Python3中为了防止生成的列表没有被使用而造成内存的浪费,没有直接生成列表

list1 = range(1, 10000, 2);

print(list1) ;

print("---------list元素-------------------------");

print(family[0],family[2][2],sep="\n");

print("-------list运算---------------------------");

list1=[1,2,3,4,5];

list2=[5,6,7,8,9,10];

print(list1+list2);

print((list1*3));

print("-------list切片--------------------------");

list1=[1,2,3,4,5,6];

list2=list1[0:2];

print("切片:{},{},{}".format(list2,list1[4:],list1[:-2]));

print("---------list操作-------------------------");

#add

print(help(list.append));

list1=[1,2,3];

list1.append(4);

print("append:",list1);

#inserd

print(help(list.insert));

list2=[1,2,3];

list2.insert(2,8);

print("insert:",list2);

#pop

print(help(list.pop));

list3=[1,2,3,4,5];

list3.pop();

list3.pop(1);

print("pop:",list3);

#remove

print(help(list.remove));

list4=[1,2,3,4,5];

list4.remove(5);

list4.remove(list1[2]);

print("remove:",list4);

#extend

print(help(list.extend));

list5=[1,2,3,4,5];

exlt=[7,8]

list5.extend([6,7,8]);

list5.extend(exlt);

print("extend:",list5);

print("max={},min= {}".format(max(list1),min(list1)));

#查找

list6 = [10, 20, 1, 45, 99];

print("max:", max(list6));

print("index:",list6.index(99));

#sort

list7 = [10, 20, 1, 45, 99];

list7.sort();

print("sort:",list7);

list7.sort(reverse=True);

print("sort:",list7);

#reverse

list8 = [10, 20, 1, 45, 99];

print(list8);

list8.reverse();

print("reverse:",list8);

print("---------list函数和方法-------------------------");

print(dir(list));

五、运行输出:

-----------list定义-----------------------

['爸爸', '妈妈', ['儿子', '儿媳', '孙子']]

range(1, 10000, 2)

---------list元素-------------------------

爸爸

孙子

-------list运算---------------------------

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

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

-------list切片--------------------------

切片:[1, 2],[5, 6],[1, 2, 3, 4]

---------list操作-------------------------

Help on method_descriptor:

append(self, object, /)

Append object to the end of the list.

None

append: [1, 2, 3, 4]

Help on method_descriptor:

insert(self, index, object, /)

Insert object before index.

None

insert: [1, 2, 8, 3]

Help on method_descriptor:

pop(self, index=-1, /)

Remove and return item at index (default last).

Raises IndexError if list is empty or index is out of range.

None

pop: [1, 3, 4]

Help on method_descriptor:

remove(self, value, /)

Remove first occurrence of value.

Raises ValueError if the value is not present.

None

remove: [1, 2, 4]

Help on method_descriptor:

extend(self, iterable, /)

Extend list by appending elements from the iterable.

None

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

max=4,min= 1

max: 99

index: 4

sort: [1, 10, 20, 45, 99]

sort: [99, 45, 20, 10, 1]

[10, 20, 1, 45, 99]

reverse: [99, 45, 1, 20, 10]

---------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']

六、代码说明

list1 = range(1, 10000, 2);

range(start, stop, step) 以步长为step生成范围为[start, stop)的列表,在Python2里用range()可以直接生成列表,但在Python3中为了防止生成的列表没有被使用而造成内存的浪费,没有直接生成列表.

print(dir(list));

dir(list):,返回list的属性、方法列表。

注:

1、撰写内容来源于个人收集的文献,属学术探究范畴。

2、版权属于时进军个人,转载需注明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值