列表的数据自下而上堆放(形成一个堆栈),类似于其他编程语言的数组.例如:
#才疏学浅,难免有不恰当之处,请不吝指正,谢谢.
#适合初学者.
user = ["张三","李四","王五"]
王五
李四
张三
使用 [] 中括号偏移量访问列表数据:
print(user[0]) 输出: 张三
print(user[1]) 输出:李四
print(user[2]) 输出:王五
(一)列表常用的一些方法:
append():在列表末尾增加一个数据项.
此时,user = ['张三', '李四', '王五', '李留']
user = ["张三", "李四", "王五"]
user.append("李留")
extend():在列表末尾增加一个数据项集合
此时,user = ['张三', '李四', '王五', '小明', '小丽']
user = ["张三", "李四", "王五"]
user.extend(["小明", "小丽"])
pop():删除列表末尾的数据.
此时,user = ['张三', '李四']
user = ["张三", "李四", "王五"]
user.pop()
remove():移除一个特定的数据.
此时:user = ["李四", "王五"]
user = ["张三", "李四", "王五"]
user.remove("张三")
insert():在指定位置前面增加一个数据项.
此时:user = ['张霖', '张三', '李四', '王五']
user = ["张三", "李四", "王五"]
user.insert(0, "张霖")
(二)列表可以存放混合类型的数据,例如存放用户姓名和出生年份
user = ["张三", 189, "李四", 188, "王五", 187]
(三)列表可以嵌套列表,支持多层嵌套(最多好像是支持 100 层)
例如:
user = ["张三", 189, "李四", 188, "王五", 187, ["张三的年收入", ["工资收入", "津贴", "来源天上"]]]
["张三的年收入", ["工资收入", "津贴", "来源天上"]]整个作为列表user的第6项数据.
访问列表的数据:
print(user[0]) 输出:张三
print(user[6]) 输出: ["张三的年收入", ["工资收入", "津贴", "来源天上"]]
print(user[6][0]) 输出:张三的年收入
print(user[6][1][1]) 输出:工资收入
(四)使用 for in 迭代处理列表.
输出: 张三 李四 王五
user = ["张三", "李四", "王五", ["张三的年收入", ["工资收入", "津贴", "来源天上"]]]
#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 循环?如果还有更多层呢?为了代码更简洁,这时我们可以使用函数来处理.
函数的格式:
def参数名():
函数代码组
() 括号里的参数可选,可以有一个或多个,也可以不设置参数,但是括号必须有.
通过下面的函数我们就可以处理多层嵌套的列表了.
输出:
#创建一个用来处理列表的函数
def print_li(the_list):
for ue in the_list:
#判断数据类型是不是列表
if isinstance(ue, list):
print_li(ue)
else:
print(ue)
user = ["张三","李四","王五",["张三的年收入",["工资收入","津贴","来源天上"]]]
#调用函数
print_li(user)
张三
李四
王五
张三的年收入
工资收入
津贴
来源天上
来源: http://www.bubuko.com/infodetail-2460414.html