python列表常用操作函数_Python入门——列表常用操作

Python列表常用操作

准备

控制台输入ipython

parallels@parallels-vm:~$ ipythonPython 2.7.12 (default, Dec 4 2017, 14:50:18) Type "copyright", "credits" or "license" for more information.IPython 2.4.1 -- An enhanced Interactive Python.? -> Introduction and overview of IPython's features.%quickref -> Quick reference.help -> Python's own help system.object? -> Details about 'object', use 'object??' for extra details.In [1]:

定义列表

定义一个空白列表name_list,

In [2]: name_list = []In [3]:

列表常用操作

在控制台输入name_list.,然后按tap键补全,

In [3]: name_list.name_list.append name_list.index name_list.remove name_list.count name_list.insert name_list.reverse name_list.extend name_list.pop name_list.sort In [3]: name_list.

从上面的提示中可以看出,列表共有9个操作或方法,而且也不需要进行死记硬背,需要用的时候通过上述方式得到提示,然后只要我们认得单词,基本上就知道怎么操作了。

取值和取索引

取值

建立一个空白文档(名字自定),==hm01列表基本使用.py==,先定义一个列表name_list,如果我们想知道列表某个位置的值是什么,可以通过传入[1]参数获得对应的值,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi['zhangsan', 'lisi', 'wangwu']Process finished with exit code 0

我们可以看到,列表的第二个值是lisi。

取索引

如果我们想知道一个值对应的索引位置,可以通过index方法传入字符串参数,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', 'lisi', 'wangwu']Process finished with exit code 0

wangwu在列表中对应的索引值是2.

修改

如果想修改列表中的值,可以通过name_list[1] = “李四”的方式进行修改,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '李四', 'wangwu']Process finished with exit code 0

已经将列表的lisi改成李四。

添加

那么以上哪一个函数是添加呢?name_list.append是追加;name_list.insert是插入;name_list.extend是扩展;我们逐一进行学习,

append追加

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '李四', 'wangwu', '王小二']Process finished with exit code 0

我们可以看出,在列表的末尾追加一个王小二。

insert插入

先看一下insert的用法,self因为暂时没有学习,可以先忽略,index表示从哪个位置插入,object表示要插入的对象,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")print(name_list)

执行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', 'wangwu', '王小二']Process finished with exit code 0

在insert方法可以在制定的索引位置插入字符串。

extend扩展

先看一下extend方法的参数,self先忽略,iterable表示可以将包含一组数据的数据类型,都可以当参数传递进来,那么我们先准备一个临时列表,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孙悟空","猪二哥","沙师弟"]name_list.extend(temp_list)print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', 'wangwu', '王小二', '孙悟空', '猪二哥', '沙师弟']Process finished with exit code 0

在name_list列表的最后插入了temp_list列表,这个就是expend扩展的用法。

删除

哪一个方法可以删除呢?remove删除;pop弹出clear清除、清空;

remove删除

我们先看一下目前控制台中输出的字符串,我们再看一下remove的用法,object表示要删除的对象,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孙悟空","猪二哥","沙师弟"]name_list.extend(temp_list)# 5.删除name_list.remove("wangwu")print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', '王小二', '孙悟空', '猪二哥', '沙师弟']Process finished with exit code 0

李四和王小二之间的wangwu被删除了。

pop

我们先看一下pop的用法,pop方法是可以带参数,那么我们先试一下不带参数的效果,

不带参数

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孙悟空","猪二哥","沙师弟"]name_list.extend(temp_list)# 5.删除name_list.remove("wangwu")name_list.pop()print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', '王小二', '孙悟空', '猪二哥']Process finished with exit code 0

列表末尾的沙师弟被删除。

带参数

不带参数默认删除最后一个,如果带参数则会删除制定索引位置的数据,比如我们想删除王小二,那么索引index=3,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孙悟空","猪二哥","沙师弟"]name_list.extend(temp_list)# 5.删除name_list.remove("wangwu")name_list.pop()name_list.pop(3)print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2['zhangsan', '小美眉', '李四', '孙悟空', '猪二哥']Process finished with exit code 0

王小二被删除。

clear清除

我们先看一下clear的用法, 我们可以看到,clear只有一个self参数,可以忽略,

name_list = ["zhangsan","lisi","wangwu"]# 1.取值print(name_list[1])# 2.取索引print(name_list.index("wangwu"))# 3.修改name_list[1] = "李四"# 4.增加name_list.append("王小二")name_list.insert(1,"小美眉")temp_list = ["孙悟空","猪二哥","沙师弟"]name_list.extend(temp_list)# 5.删除name_list.remove("wangwu")name_list.pop()name_list.pop(3)name_list.clear()print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_01_列表的基本使用.pylisi2[]Process finished with exit code 0

整个列表被清空。

扩展

使用del从列表中删除数据,

建立空白文本

新建空白文本==hm_02_del关键字.py==,定义一个name_list列表,

name_list = ["张三","李四","王五"]print(name_list)

del删除指定数据

在代码中加入del关键字,删除指定的数据,

name_list = ["张三","李四","王五"]del name_list[1]print(name_list)

运行程序,控制台输出如下,

/home/parallels/Desktop/05_高级数据类型/venv/bin/python /home/parallels/Desktop/05_高级数据类型/hm_02_del关键字.py['张三', '王五']Process finished with exit code 0

已经将index=1的数据删除,del关键字本质上是用来将一个变量从内存中删除的。

del删除内存数据演示

先定义一个name变量,然后用del关键字把name变量删除,同时在第7行打一个断点,运行程序,我们再控制台观察输出,程序停在了第7行,同时name = “小明”,紧接着单步执行,控制台输出如下,name变量已经被删除,那么这时候还能通过print打印name吗?我们尝试一下,

name_list = ["张三","李四","王五"]del name_list[1]name = "小明"del nameprint(name)print(name_list)

运行程序,执行结果如下,程序报错,NameError: name ‘name’ is not defined,说明name变量已经完全从内存中删除。

最近喜欢上了Python,每天学习一点点!人生苦短,我用Python!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值