Python笔记(二):列表+列表数据处理+函数

栏目: Python · 发布时间: 6年前

内容简介:Python笔记(二):列表+列表数据处理+函数

#才疏学浅,难免有不恰当之处,请不吝指正,谢谢。

#适合初学者。

列表的数据自下而上堆放(形成一个堆栈),类似于其他编程语言的数组。例如:

user = [ " 张三" , " 李四" , " 王五" ]

王五

李四

张三

使用[]中括号偏移量访问列表数据:

print(user[0])        输出: 张三

print(user[1])        输出:李四

print(user[2])        输出:王五

(一)列表常用的一些方法:

append() :在列表末尾增加一个数据项。
user = [<strong>"</strong><strong>张三"</strong>,<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>]
user.append(<strong>"</strong><strong>李留"</strong>)
此时,user = ['张三', '李四', '王五', '李留']
extend():在列表末尾增加一个数据项集合
user = [<strong>"</strong><strong>张三"</strong>,<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>]
user.extend([<strong>"</strong><strong>小明"</strong>,<strong>"</strong><strong>小丽"</strong>])
此时,user = ['张三', '李四', '王五', '小明', '小丽']
pop():删除列表末尾的数据。
user = [<strong>"</strong><strong>张三"</strong>,<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>]
user.pop()
此时,user = ['张三', '李四']
remove():移除一个特定的数据。
user = [<strong>"</strong><strong>张三"</strong>,<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>]
user.remove(<strong>"</strong><strong>张三"</strong>)
此时:user = [<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>]
insert():在指定位置前面增加一个数据项。
user = [<strong>"</strong><strong>张三"</strong>,<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>]
user.insert(0,<strong>"</strong><strong>张霖"</strong>)
此时:user = [<strong>'</strong><strong>张霖'</strong>, <strong>'</strong><strong>张三'</strong>, <strong>'</strong><strong>李四'</strong>, <strong>'</strong><strong>王五'</strong>]

(二)列表可以存放混合类型的数据,例如存放用户姓名和出生年份

user = [<strong>"</strong><strong>张三"</strong>,189,<strong>"</strong><strong>李四"</strong>,188,<strong>"</strong><strong>王五"</strong>,187]

(三)列表可以嵌套列表,支持多层嵌套(最多好像是支持100 层)

例如:
user = [<strong>"</strong><strong>张三"</strong>,189,<strong>"</strong><strong>李四"</strong>,188,<strong>"</strong><strong>王五"</strong>,187,[<strong>"</strong><strong>张三的年收入"</strong>,[<strong>"</strong><strong>工资收入"</strong>,<strong>"</strong><strong>津贴"</strong>,<strong>"</strong><strong>来源天上"</strong>]]]
[<strong>"</strong><strong>张三的年收入"</strong>,[<strong>"</strong><strong>工资收入"</strong>,<strong>"</strong><strong>津贴"</strong>,<strong>"</strong><strong>来源天上"</strong>]] 整个作为列表user的第6项数据。
<strong>访问列表的数据:</strong>
      print(user[0])        输出:张三
      print(user[6])        输出:[<strong>"</strong><strong>张三的年收入"</strong>,[<strong>"</strong><strong>工资收入"</strong>,<strong>"</strong><strong>津贴"</strong>,<strong>"</strong><strong>来源天上"</strong>]]
      print(user[6][0])     输出:<strong>张三的年收入</strong>
      print(user[6][1][1])  输出:<strong>工资收入</strong>

(四)使用for in 迭代处理列表。

user = [<strong>"</strong><strong>张三"</strong>,<strong>"</strong><strong>李四"</strong>,<strong>"</strong><strong>王五"</strong>,[<strong>"</strong><strong>张三的年收入"</strong>,[<strong>"</strong><strong>工资收入"</strong>,<strong>"</strong><strong>津贴"</strong>,<strong>"</strong><strong>来源天上"</strong>]]]
#python的for循环就是用来处理列表和其他迭代结构
#也可以通过while实现,不过for循环比较方便
for ue in user:
print(ue)
输出:
张三
李四
王五
['张三的年收入', ['工资收入', '津贴', '来源天上']]

(五)第4 步中可以发现程序只打印了最外层的列表数据, [' 张三的年收入 ', [' 工资收入 ', ' 津贴 ', ' 来源天上 ']] 是作为一个列表输出的,该怎么把内层列表的数据也打印出来呢?

user = ["张三","李四","王五",["张三的年收入",["工资收入","津贴","来源天上"]]]
for ue in user:
#isinstance()是内置函数,此处用来确定数据类型是不是列表
if isinstance(ue,list):
for u in ue:
print(u)
else:
print(ue)

输出:

张三

李四

王五

张三的年收入

['工资收入', '津贴', '来源天上']

(六)第五步中可以发现,第三层的列表还是以列表的形式打印,该怎么处理?再增加一个 if 循环?如果还有更多层呢?为了代码更简洁,这时我们可以使用函数来处理。

函数的格式:

<strong>def </strong>参数名():
    函数代码组

()括号里的参数可选,可以有一个或多个,也可以不设置参数,但是括号必须有。

通过下面的函数我们就可以处理多层嵌套的列表了。

#创建一个用来处理列表的函数
def print_li(the_list):
for ue in the_list:
#判断数据类型是不是列表
if isinstance(ue, list):
print_li(ue)
else:
print(ue)
user = ["张三","李四","王五",["张三的年收入",["工资收入","津贴","来源天上"]]]
#调用函数
print_li(user)

输出:

张三

李四

王五

张三的年收入

工资收入

津贴

来源天上


以上所述就是小编给大家介绍的《Python笔记(二):列表+列表数据处理+函数》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

复杂网络理论及其应用

复杂网络理论及其应用

汪小帆、李翔、陈关荣 / 清华大学出版社 / 2006 / 45.00元

国内首部复杂网络专著 【图书目录】 第1章 引论 1.1 引言 1.2 复杂网络研究简史 1.3 基本概念 1.4 本书内容简介 参考文献 第2章 网络拓扑基本模型及其性质 2.1 引言 2.2 规则网络 2.3 随机图 2.4 小世界网络模型 2.5 无标度网络模型 ......一起来看看 《复杂网络理论及其应用》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具