Python—列表

一.创建列表

"""
数组:存储同一种数据类型的集合 scores = [1,2,3]
列表:可以存储任意数据类型的集合
"""
"""
In [1]: name1 = 'tom'                                                   

In [2]: name2 = 'Tony'                                                  

In [3]: name3 = 'coco'                                                  

In [4]: name1                                                           
Out[4]: 'tom'

In [5]: name2                                                           
Out[5]: 'Tony'

In [6]: name3                                                           
Out[6]: 'coco'

In [7]:                                                                 

In [7]: name = ['tom','Tony','coco']                                    

In [8]:                                                                 

In [8]: name                                                            
Out[8]: ['tom', 'Tony', 'coco']

In [9]: type(name)                                                      
Out[9]: list

In [10]:  

"""
#列表里:可以存储不同的数据类型
li = [1,1.2,True,'hello']
print(li)
print(type(li))

#列表里也可以嵌套列表(列表:本身也是一种数据类型)
li1 = [1,1.2,True,'hello',[1,2,3,4,5]]
print(li1)
print(type(li1))

二.列表的特性

service = ['http','ssh','ftp']

#索引
print(service[0])
print(service[-1])

#切片
print(service[1:])
print(service[:-1])
print(service[::-1])

#重复
print(service * 3)

#连接
service1 = ['mysql','firewalld']
print(service + service1)

#成员操作符
print('firewalld' in service)
print('firewalld' in service1)

#for循环遍历
for se in service:
    print(se)

#列表里嵌套列表
service2 = [['http',80],['ssh',22],['ftp',21]]

#索引
print(service2[1][1])
print(service2[-1][1])

#切片
print(service2[:][1])
print(service2[:-1][0])
print(service2[0][:-1])

#练习1

季节判断

"""
# _*_coding:utf-8_*_
Name:列表判断季节.py
Date:1/15/19
Author:westos-dz
Desc:
"""
"""
列表方式判断季节
3,4,5春季,678夏季,91011秋季,12 1 2冬季
"""

month = input('请输入月份:')
season = [['春季','3','4','5'],['夏季','6','7','8'],['秋季','9','10','11'],['冬季','12','1','2']]
for i in season:                 ##season表中每一个小的表进行循环
    for j in i:                  ##小的表中的每一个字符串进行循环
        if j == month:           ##字符串中如果有和客户输入的月份相同
            print(i[0])          ##打印该小表的第0个字符串

 

三.列表的增加

service = ['http','ssh','ftp']         
                                       
#1.                                    
# print(service + ['firewalld'])       
                                       
#2.append:追加一个元素到列表中                   
service.append('firewalld')            
print(service)                         
                                       
#3.extend:拉伸 追加多个元素到列表中                
service.extend(['mysql','firewalld'])  
print(service)                         
                                       
#4.insert:在指定索引位置插入元素                  
service.insert(1,'samba')              
print(service)                         
                                       

 

四.列表的删除

"""
In [12]: service = ['http','ssh','ftp']                                 

In [13]:                                                                

In [13]: service.pop()                                                  
Out[13]: 'ftp'

In [14]: service                                                        
Out[14]: ['http', 'ssh']

In [15]: service.pop()                                                  
Out[15]: 'ssh'

In [16]: service                                                        
Out[16]: ['http']

In [17]: service.pop()                                                  
Out[17]: 'http'

In [18]: service                                                        
Out[18]: []

In [19]: service.pop()                                                  
------------------------------------------------------------------------
IndexError                             Traceback (most recent call last)
<ipython-input-19-d8278ea86206> in <module>
----> 1 service.pop()

IndexError: pop from empty list
"""
service = ['http','ssh','ftp']
# #2.remove:删除指定元素
# a = service.remove('ssh')
# print(service)
# print(a)

#3.del关键字 从内存中删除
print(service)
del service
print(service)

 

pop()与remove与del的区别

list = ['1','2','3']


list.pop()
list.remove('1')
del list[0]


pop与remove只是将内存中的数据删除,而del会将内存空间也移除

五.列表的修改

"""
#_*_coding:utf-8_*_
Name:列表的修改.py
Date:19-1-15
Author:westos-dz
Description:
"""

service = ['http','ssh','ftp']

#通过索引,重新赋值
service[0] = 'mysql'
print(service)

#通过切片
print(service[:2])
service[:2] = ['samba','ldap']
print(service)

 

六.列表的查看

service = ['ftp','http','ssh','ftp']

#查看出现的次数
print(service.count('ftp'))

#查看指定元素的索引值(可以指定索引范围查看)
print(service.index('ssh'))
print(service.index('ftp',0,3))

 

七.列表的排序

li = list(range(10))
print(li)

#将原有的列表顺序打乱
random.shuffle(li)
print(li)

#练习2

列表内容的查找

"""
# _*_coding:utf-8_*_
Name:用户系统管理.py
Date:1/15/19
Author:westos-dz
Desc:
"""
"""
1.系统里面有多个用户,用户的信息目前保存在列表里面
    users = ['root','westos']
    passwd = ['123','456']
2.用户登陆(判断用户登陆是否成功
    1).判断用户是否存在
    2).如果存在
        1).判断用户密码是否正确
        如果正确,登陆成功,推出循环
        如果密码不正确,重新登陆,总共有三次机会登陆
    3).如果用户不存在
    重新登陆,总共有三次机会

"""
users = ['root', 'westos']
passwd = ['123', '456']
i = 0
j = 0
while True:
    user = input('输入登陆的用户名称:')
    pd = input('输入登陆密码:')
    if user in users:
        if pd == passwd[users.index(user)]:    ##users.index(user)用于找到变量user在列表passwd索引值
            print('用户登陆成功')

        else:
            print('用户%s登录失败,密码错误' % user)
            j = j + 1
    else:
        print('error,请输入正确的用户名称')
        i = i + 1
    if i > 2:
        break
    if j > 2:
        break

#练习3

列表内容的删除,添加,查找

"""                                                                            
# _*_coding:utf-8_*_                                                           
Name:01_后台管理员管理前台信息.py                                                         
Date:1/16/19                                                                   
Author:westos-dz                                                               
Desc:                                                                          
"""                                                                            
"""                                                                            
1.后台管理员只有一个用户:admin,密码:admin                                                   
2.当管理员登陆成功后,可以管理前台会员信息.                                                        
3.会员信息管理包含:                                                                    
        添加会员信息                                                                 
        删除会员信息                                                                 
        查看会员信息                                                                 
        退出                                                                     
添加用户:                                                                          
1)判断用户名是否存在                                                                    
2)如果存在,报错                                                                      
3)如果不存在,添加用户名和密码分别到列表中;                                                        
                                                                               
删除用户:                                                                          
1)判断用户名是否存在                                                                    
2)如果存在,删除                                                                      
3)如果不存在,报错                                                                     
                                                                               
                                                                               
"""                                                                            
print('---管理员登录系统---')                                                         
#用户系统登陆                                                                        
name=input('请输入登陆用户:')                                                         
inpasswd=input('请输入密码:')                                                       
#添加数据库列表内容                                                                     
users=['root','westos']                                                        
passwd=['123','456']                                                           
                                                                               
while name=='admin' and inpasswd == 'admin':      #登陆成功时继续操作                   
    print("""                                                                  
            操作目录                                                               
    1)添加用户                                                                     
    2)删除用户                                                                     
    3)查看用户                                                                     
    4)退出管理员系统                                                                  
                                                                               
    """)                                                                       
    #用户输入操作选择                                                                  
    choice = input('请输入你的选择:')                                                 
                                                                               
    #添加用户                                                                      
    if choice == '1':                                                          
        addname=input('请输入要添加的用户名称:')         #用户输入添加内容                        
        if addname in users:                           #判断列表是否存在用户名称           
            print('error,用户已经存在')                                              
        else:                                                                  
            addpasswd=input('输入要添加的用户密码:')     #不存在时,可以添加                      
            users.append(addname)                      #在表users添加用户名           
            passwd.append(addpasswd)                   #在表passwd添加用户密码         
            print('用户%s添加成功' %addname)             #提示添加成功                     
                                                                               
    #删除用户                                                                      
    elif choice == '2':                                                        
        delname=input('请输入要删除的用户名称:')        #管理员输入需要删除的用户                     
        if delname in users:                          #用户存在时,可以删除              
            userpasswd = passwd[users.index(delname)]   #找到用户名对应的密码            
            users.remove(delname)                       #删除用户                  
            passwd.remove(userpasswd)                   #删除密码                  
            print('用户%s删除成功' %delname)              #提示删除成功                    
        else:                                                                  
            print('error,用户不存在')                                               
                                                                               
    #查看用户信息                                                                    
    elif choice == '3':                                                        
        lsusername = input('请输入要查看的用户:')            #输入查看的用户名                  
        if lsusername in users:                            #如果存在,可以查看          
            lspasswd = passwd[users.index(lsusername)]     #找到用户名对应的密码         
            print('用户名称为%s的密码为%s' %(lsusername,lspasswd))       #打印用户信息        
        else:                                                                  
            print('用户不存在')                                                     
                                                                               
    #退出                                                                        
    else:                                       #退出系统                          
        exit()                                                                 
else:                                      #管理员登录失败                            
    print('登录失败')                                                              

#练习4

列表的增删

"""
# _*_coding:utf-8_*_
Name:02_列表实现栈的工作原理.py
Date:1/16/19
Author:westos-dz
Desc:
"""
users = []

while True:
    print("""
        1)入栈
        2)出栈
        3)查看栈顶元素
        4)查看栈的长度
        5)栈是否为空
        6)退出

""")
    usercount =len(users)
    choice = input('请输入你的选择:')

    #入栈
    if choice == '1':
        add = input('请输入要输入的元素:')
        users.append(add)
        print('元素%s入栈成功' %add)
    #出栈
    if choice == '2':
        if usercount == 0:
            print('error,栈为空,不能出栈')

        else:
            a = users.pop()
            print('出栈的元素为%s,出栈成功' %a)
    #查看栈顶元素
    if choice == '3':
        if usercount == 0:
            print('栈为空,没有栈顶元素')
        else:
            ls = users[::-1][0]
            print('栈顶元素为%s' % ls)
    #栈长
    if choice == '4':
        print('栈长为%s' % usercount)
    #栈是否为空
    if choice == '5':

        if usercount == 0:
            print('栈为空')
        else:
            print('栈不为空')
    #退出
    if choice == 6:
        exit()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值