Python列表

一、序列的简介:

序列是Python中最基本的数据结构。
序列中的每个元素都分配一个数字作为它的索引,索引从0开始。
Python有6个序列的内置类型,最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
Python内置了确定序列的长度以及确定最大和最小的元素的方法。

二、列表的定义

1.定义一个空列表
 list = []
2.定义一个包含元素的列表

列表的元素可以是任意类型,包括数值类型,列表,字符串等均可。

 [1, 3.4, (5+6j), '7abc', '8def', True]

三、列表的操作

1.列表的索引

索引下标是从0开始计算,比如:
list[0]读取的是列表的第1个元素
list[-1]读取的是列表的倒数第1个元素

 In [13]: list = [1,3.4,5+6j,'7abc',"8def",True]

 In [14]: list[0]
 Out[14]: 1

 In [15]: list[1]
 Out[15]: 3.4

 In [16]: list[-1]
 Out[16]: True

 In [17]: list[-3]
 Out[17]: '7abc'
2.列表的切片

list[x:y:z]x代表从哪个索引开始切片,y代表切片到哪个位置,并且不包含第y个索引,z代表切片的步长

 In [19]: list
 Out[19]: [1, 3.4, (5+6j), '7abc', '8def', True]

 In [20]: list[1:5:2]
 Out[20]: [3.4, '7abc']

 In [21]: list[:]         #有效的全部打印
 Out[21]: [1, 3.4, (5+6j), '7abc', '8def', True]

 In [22]: list[::-1]    #倒序打印
 Out[22]: [True, '8def', '7abc', (5+6j), 3.4, 1]
3.列表的重复

使用 星号(*) 可以重复输出列表中的元素

 In [23]: list
 Out[23]: [1, 3.4, (5+6j), '7abc', '8def', True]

 In [25]: list * 3
 Out[25]: 
 [1,
  3.4,
  (5+6j),
  '7abc',
  '8def',
  True,
  1,
  3.4,
  (5+6j),
  '7abc',
  '8def',
  True,
  1,
  3.4,
  (5+6j),
  '7abc',
  '8def',
  True]

 In [26]: (list,) * 3   #加逗号取消换行
 Out[26]: 
 ([1, 3.4, (5+6j), '7abc', '8def', True],
  [1, 3.4, (5+6j), '7abc', '8def', True],
  [1, 3.4, (5+6j), '7abc', '8def', True])
4.列表的连接

使用加号(+)可以让多个列表的所有元素连接输出

 In [35]: list
 Out[35]: [1, 3.4, (5+6j), '7abc', '8def', True]

 In [36]: arr = ['love',"520",1314]

 In [37]: list + arr
 Out[37]: [1, 3.4, (5+6j), '7abc', '8def', True, 'love', '520', 1314]
5.成员操作符:判断元素是否存在
 In [31]: '7abc' not in list
 Out[31]: False

 In [32]: 3.4 in list
 Out[32]: True

 In [33]: 4 in list
 Out[33]: False

 In [34]: True in list
 Out[34]: True
6.计算列表长度

使用内置方法len()

 In [38]: len(list)
 Out[38]: 6

 In [39]: len(arr)
 Out[39]: 3
7.列表的迭代

使用for循环语句进行迭代:

 In [40]: for i in list:
    ....:     print i,
    ....:     
 1 3.4 (5+6j) 7abc 8def True

特别注意:所有对列表的操作的结果,是没有保存的,要使用必须要赋值给一个变量保存!

四、列表的内置方法

1.列表的全部内置方法
 In [41]: list.
 list.append   list.extend   list.insert   list.remove   list.sort
 list.count    list.index    list.pop      list.reverse
2.列表内置方法操作解释
 1       list.append(obj)  #在列表末尾添加新的对象
 2  list.count(obj)  #统计某个元素在列表中出现的次数
 3  list.extend(seq)  #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
 4  list.index(obj)  #从列表中找出某个值第一个匹配项的索引位置
 5  list.insert(index, obj)  #将对象插入列表
 6  list.pop(obj=list[-1])  #移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
 7  list.remove(obj)  #移除列表中某个值的第一个匹配项
 8  list.reverse()  #反向列表中元素
 9  list.sort([func])  #对原列表进行排序

特别注意:所有对列表的内置方法操作的结果,是已经保存的,列表元素已经改变

五、使用列表构建栈

栈是一种数据结构,遵循 先进后出 的原则。
代码如下:

 # 列表存放栈的元素;
 stack = []

 info = """
            栈操作


    1. 入栈
    2. 出栈
    3. 栈长度
    4. 栈顶元素
    5. 退出
 """
 print info

 while 1:
     choice = raw_input('清输入你的选择:')

     if choice == '1':
         in_value = raw_input('入栈元素:')
         stack.append(in_value)
         print  "元素%s入栈成功!" % (in_value)
         print stack
     elif choice == '2':
         # if stack != []:   判断列表是否为空;
         if stack:
             out_value = stack.pop()
             print "%s 出栈成功!" %(out_value)
             print stack
         else:
             print "栈为空!"
     elif choice == '3':
         print "栈长度为%d" %(len(stack))
     elif choice == '4':
         # if stack != []:   判断列表是否为空;
         if stack:
             print "栈顶元素为: %s" %(stack[-1])
         else:
             print "栈为空!"
     elif choice == '5':
         exit(0)
     else:
         print "请输入正确的选择!"

六、使用列表构建队列

队列是一种数据结构,遵循 先进先出 的原则。
代码如下:

 # import queue   #可以导入Python中默认的队列模块
 # queue.Queue



 queue = []
 info = """
        队列操作
  1.添加队列元素
  2.删除队列元素
  3.队长度
  4.对头元素
  5.队尾元素
  6.退出
  """
 print info
 while 1:
     choice = raw_input('请输入你的选择:')

     if choice == '1':
         in_value = raw_input('添加队列的元素:')
         queue.append(in_value)
         print "元素%s添加成功!" %(in_value)
         print queue
     elif choice == '2':
         if queue:
             #queue1 = queue[::-1]
             out_value = queue.pop(0)
             print "%s删除成功!" %(out_value)
             print queue
         else:
             print "队列为空"
     elif choice == '3':
         print "队长度:%s" %(len(queue))
     elif choice == '4':
         if queue:
             print "对头元素为: %s" %(queue[0])
         else:
             print "队列为空"
     elif choice == '5':
         if queue:
             print "队尾元素为: %s" %(queue[-1])
         else:
             print "队列为空"
     elif choice == '6':
         exit(0)
     else:
         print "error"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值