一.列表的定义
• 定义一个空列表 list = [] • 定义一个包含元素的列表,元素可以是任意类型,包括数值类型,列表,字符串,元组等均可。• 元组是不可变数据类型不能修改元素,列表是可变数据类型可以修改元素!二.列表的索引
•下标是从0开始计算,比如list[0]读取的是列表的第1个元素; •list[-1]读取的是列表的倒数第1个元素; •正向索引•反向索引•拿出列表最后一个元素, 最后一个元素是列表, 再拿出列表的第一个元素三.列表的切片
• 0代表从哪个索引开始切片; • 3代表切片到哪个位置,并且不包含第三个索引; • 2代表切片的步长;•去掉列表的第一个元素li[1:]•逆序显示li[::-1]
•重复,连接操作 li * 2 # 不建议这样连接两个列表,后面有效率更高的方法 ; li1 = ["westos", "new year"] li+li1
•成员操作符四.列表的增,删,改,查
•增加 例:ip白名单 追加元素到列表的最后:allow_ip.append() 增加元素到列表的指定位置:allow_ip.insert(0, "192.168.1.253") # iterable 代表可迭代的;目前学习的可迭代对象有 : str, list, tuple 增加多个元素到列表最后:allow_ip.extend(["172.25.254.44", "172.25.254.55"])•修改 # 通过列表的索引,对列表某个索引值重新赋值:allow_ip[0] = "192.168.1.1•查看 统计某个元素在列表中出现的次数 :shopping.count("apple") 找到某个值在列表中的索引值: shopping.index("computer")删除列表中遇到的第一个 value 值:shopping.remove("apple")•删除
删除列表中第 i 个索引值:del shopping[0]
删除除了第一个元素之外的其他索引值:del list1[1:]
删除列表对象:del shopping
删除指定索引对应的值,默认是最后一个元素 :li.pop()
删除列表的第一个索引 :li.pop(0)
五.列表元素的排序及逆转
•排序,如果说都是数字,按照数字大小排序 ;•如果是字母,按照 ASCII 码来排序;•如何查看对应的 ASCII 码 ? ord('a')•逆转; li[::-1]
六.列表构建栈和队列数据结构
(一)栈:先进后出 first in last out --->>类似往容器里面放东西
#!/usr/bin/env python #coding:utf-8 stack = [] info = """ 栈操作 1). 入栈 2). 出栈 3). 栈长度 4). 查看栈 5). 退出 请输入你的选择:""" # 死循环 while 1: choice = raw_input(info).strip() if choice == "1": print "入栈操作".center(40, "*") value = raw_input("请输入入栈元素:") stack.append(value) print "元素%s入栈成功..." %(value) elif choice == "2": print "出栈操作".center(40, "*") # if len(stack) == 0: if not stack: print "栈为空" else: item = stack.pop() print "元素%s出栈成功...." %(item) elif choice == "3": print "查看栈长度".center(40, "*") print len(stack) elif choice == "4": print "查看栈元素".center(40, "*") if not stack: print "栈为空" for i in stack: print i, elif choice == "5": exit() else: print "请输入正确的选择!"
(二)队列:先进先出 first in first out --->>类似排队购物
#!/usr/bin/env python #coding:utf-8 Queue = [] info = """ 队列操作 1). 入队 2). 出队 3). 查看队列 4). 退出 请输入你的选择:""" # 死循环 while 1: choice = raw_input(info).strip() if choice == "1": print "入队操作".center(40, "*") value = raw_input("请输入入队元素:") Queue.append(value) print "元素%s入队成功..." %(value) elif choice == "2": print "出队操作".center(40, "*") # if len(Queue) == 0: if not Queue: print "队列为空" else: item = Queue.pop() print "元素%s出队成功...." %(item) elif choice == "3": print "查看队列元素".center(40, "*") if not Queue: print "队列为空" for i in Queue: print i, elif choice == "4": exit() else: print "请输入正确的选择!"
python学习笔记之列表操作
最新推荐文章于 2024-10-14 14:31:26 发布