列表



列表:

正向索引和反向索引:

In [2]: li = [1,1.1,"westos",(1,2,3,4),[1,2,3,4]]

In [3]: print li
[1, 1.1, 'westos', (1, 2, 3, 4), [1, 2, 3, 4]]

In [16]: li [::-1]
Out[16]: [[1, 2, 3, 4], (1, 2, 3, 4), 'westos', 7, 1]

In [17]: li [0]
Out[17]: 1

In [18]: li [-1]
Out[18]: [1, 2, 3, 4]

拿出最后的一个元素,在哪出最后一个元素列表的第三个个元素

In [19]: li [-1][3]
Out[19]: 4


切片:

In [10]: li [1:]
Out[10]: [7, 'westos', (1, 2, 3, 4), [1, 2, 3, 4]]

In [11]: li [-1:]
Out[11]: [[1, 2, 3, 4]]

In [12]: print li
[1, 7, 'westos', (1, 2, 3, 4), [1, 2, 3, 4]]

In [13]: li [2]
Out[13]: 'westos'

In [14]: print li
[1, 7, 'westos', (1, 2, 3, 4), [1, 2, 3, 4]]

逆序显示:

n [16]: li [::-1]
Out[16]: [[1, 2, 3, 4], (1, 2, 3, 4), 'westos', 7, 1]

列表的增删改查:

append:追加元素到列表的最后:

In [20]: ip = ["192.168.0.1","172.25.2.4","192.1680.101","192.168.6.4"]

In [21]: ip.append("192.168.0.201")

In [22]: print ip
['192.168.0.1', '172.25.2.4', '192.1680.101', '192.168.6.4', '192.168.0.201']

insert:增加元素到列表的指定位置:

In [22]: print ip
['192.168.0.1', '172.25.2.4', '192.1680.101', '192.168.6.4', '192.168.0.201']

In [23]: ip.insert(1,"192.168.0.2")

In [24]: print ip
['192.168.0.1', '192.168.0.2', '172.25.2.4', '192.1680.101', '192.168.6.4', '192.168.0.201']

extend:增加多个元素到列表的最后:

In [26]: ip.extend(["1.1.1.1","2.2.2.2"])

In [27]: print ip
['192.168.0.1', '192.168.0.2', '172.25.2.4', '192.1680.101', '192.168.6.4', '192.168.0.201', '1.1.1.1', '2.2.2.2']

通过列表的索引,对列表的某个索引值重新赋值:

In [28]: ip[2]= "1.1.1.1"

In [29]: print ip
['192.168.0.1', '192.168.0.2', '1.1.1.1', '192.1680.101', '192.168.6.4', '192.168.0.201', '1.1.1.1', '2.2.2.2']
count:统计某个元素到列表出现的次数:

In [30]: ip.count("1.1.1.1")
Out[30]: 2
index:找到某个值在列表的索引值:

In [31]: ip.index("2.2.2.2")
Out[31]: 7
删除指定列表的value值:

In [32]: ip.remove("192.1680.101")

In [33]: print ip
['192.168.0.1', '192.168.0.2', '1.1.1.1', '192.168.6.4', '192.168.0.201', '1.1.1.1', '2.2.2.2']

del 删除列表中第i个索引值:

In [34]: del ip[2]

In [35]: print ip
['192.168.0.1', '192.168.0.2', '192.168.6.4', '192.168.0.201', '1.1.1.1', '2.2.2.2']
pop 删除指定索引对应的值。默认是最后的一个元素,pop(0)删除列表第一个元素:

In [36]: ip.pop()
Out[36]: '2.2.2.2'

In [37]: print ip
['192.168.0.1', '192.168.0.2', '192.168.6.4', '192.168.0.201', '1.1.1.1']

其他排序及逆转:

如果都是数字,按照数字大小排序:

如果是字母,按照ascii码来排序:

列表的练习:


#! /usr/bin/env python

#coding:utf-8

 trycount = 0

 

while trycount<3:

    inname = raw_input("name:")

        name = ["root","123","haha"]

    inpasswd = raw_input("password:")

        password = ["westos","123","haha"]

        index = name.index(inname)

    if inpasswd == password[index]:

        print "登录成功!!"

        exit()

    else:

        print "登录失败!!"

        trycount += 1

    else:

        print "超过三次"



列表构建栈和队列数据结构:

栈是先进后出:

     


#!/usr/bin/env python
#coding:utf-8
stack = []
info = """
栈操作
1). 入栈
2). 出栈
3). 栈长度
4). 查看栈
5). 退出
请输入你的选择:"""
# 死循环
while True:
     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 "请输入正确的选择......"


队列:

队列是先进先出:

#! /usr/bin/env  python

#coding:utf-8

 

 

queue = ["cao","ni","mei"]

print  """

    队列操作

 1) 入对:enqueue

 2) 出对:

 3) 查处队列

 4) 退出

 

请输入你的选择:"""

while True:

    choice = raw_input().strip()

    if choice == "1":

       value = raw_input("请输出队列元素:")

       queue.append(value)

    elif choice == "2":

        if not queue:

           print "对为空"

        else:

           queue.pop(0)

    elif choice == "3":

        if not queue:

           print "对为空"

        for i in queue:

           print i

    elif choice == "4":

        exit()

    else:

        print "请输出正确选择"

 

卡号由6位组成, 前3位是610, 后面的依次是001, 002, 003...100
cardids = []
for i in range(1, 101): # i = 1, 2, 3, 4...100
a = "610%.3d" %(i) # a= 610001, 610002, 610003, ....610100
cardids.append(a)
# print cardids # cardids是列表
# 卡号显示,每10个卡号换行显示;
for i, j in enumerate(cardids): # i,j = 0 610001
if i%10==0:
print
print j,


#! /usr/bin/env  python

#coding:utf-8

 

l = []

for i in range(1,101):

    a = "610%.3d"  %(i)

    l.append(a)

print {}.fromkeys(l,"000000")

 






















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值