python学习笔记之列表操作

一.列表的定义

• 定义一个空列表
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 "请输入正确的选择!"

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值