python中的列表的增加、删除、修改和查看以及排序方法

1.给列表中添加元素(增加)
1.增加

service = ['http','ssh','ftp']
print(service+['firewalld'])   增加一个元素
print(service+['firewalld','maridb']) 增加多个元素
打印结果
['http', 'ssh', 'ftp', 'firewalld']
['http', 'ssh', 'ftp', 'firewalld', 'maridb']

2.追加
.append()追加只能是一个元素

service = ['http','ssh','ftp']
service.append('firewalld')
print(service)
打印结果
['http', 'ssh', 'ftp', 'firewalld']

3.extend:拉伸 追加多个元素到列表中
.exend()拉伸追加多个元素

ervice = ['http','ssh','ftp']
service.extend(['firewalld','maridb'])
print(service)
打印结果
['http', 'ssh', 'ftp', 'firewalld', 'maridb']

4.insert:在指定索引位置插入元素

service = ['http','ssh','ftp']
service.insert(1,'firewalld')
print(service)
打印结果
['http', 'firewalld', 'ssh', 'ftp']

5.del:直接从内存中删除
ipython下的演示.pop()方法

In [11]: service = ['http','ssh','ftp']   定义变量                                
In [13]: service.pop()       .pop()函数默认弹出最后一个元素                                                   
Out[13]: 'ftp'
In [14]: service      再次打印只剩两个元素                                                          
Out[14]: ['http', 'ssh']
In [15]: service = ['http','ssh','ftp']                                         
In [16]: a = service.pop()      赋值是a等效于默认弹出操作                                                     
In [17]: a                      运行                                                
Out[17]: 'ftp'   弹出
In [18]: service         剩余两个元素                                                           
Out[18]: ['http', 'ssh']
In [19]: service[0]       指定打印第一个元素                                                      
Out[19]: 'http'
In [20]: service                                                                
Out[20]: ['http', 'ssh']
In [21]: service.pop(0)     指定弹出第一个元素                                            
Out[21]: 'http'
In [22]: service    剩余一个元素                                                            
Out[22]: ['ssh']
In [23]: service.pop()         再次弹出最后一个元素                                                 
Out[23]: 'ssh'
In [24]: service        显示列表为空表                                                        
Out[24]: []
In [25]: service.pop()             再次弹出报错                                             
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-25-d8278ea86206> in <module>
----> 1 service.pop()

IndexError: pop from empty list       列表为空无元素
remove删除
service = ['http','ssh','ftp']
a = service.remove('ssh')  a=删除ssh 
print(service)  
print(a)
打印结果
['http', 'ftp']  删除打印就只有两个元素
None  a为空

直接内存中删除
service = ['http','ssh','ftp']
print(service)
del service
print(service)
打印结果
['http', 'ssh', 'ftp']
Traceback (most recent call last):
  File "/root/PycharmProjects/item1/列表练习题.py", line 12, in <module>
    print(service)
NameError: name 'service' is not defined   已经不存在

6.列表的修改(修改列表中某些元素的值)

service = ['http','ssh','ftp']
service[0]= 'firewalld'   修改第一个元素的值
print(service)
打印结果
['firewalld', 'ssh', 'ftp']

7.通过切片 重新赋值

service = ['http','ssh','ftp']
print(service[:2])
service[:2] = ['samba','firewalld']
print(service)
打印结果
['http', 'ssh']
['samba', 'firewalld', 'ftp']

8.列表的查看(指定查看列表某一些信息)

service = ['http','ssh','ftp']
print(service.count('http'))查看元素在列表中的出现的次数
打印结果
1
service = ['http','ssh','ftp']
print(service.index('http'))查看指定元素的索引值
打印结果
0
service = ['http','ssh','ftp','ssh']
print(service.index('ftp',0,13))  索引值查看
打印结果
2

排序方法
一般的排序方法sort(),属于python的内置方法

names = ['http','ssh','ftp','http']  定义列表
names.sort()  定义列表names并对列表元素进行排序(同意了类型的元素)
print(names)打印
打印结果
['ftp', 'http', 'http', 'ssh']  按照ASCII码从小到大排序  大写字母的ACCII值小,小写字母的ACCII值大
li = list(range(10))  指定列表中的元素为0-9
print(li)打印
打印结果
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
import random  导入随机函数
li = list(range(10))  
random.shuffle(li)  打乱列表中元素的顺序
print(li)
打印结果
[7, 1, 2, 0, 3, 8, 5, 9, 4, 6]

趁热打铁
练习1
添加用户:
1.系统里面有多个用户,用户的信息目前保存在列表里面
users = [‘root’,‘westos’]
passwd = [‘123’,‘456’]
2.用户登陆(判断用户登陆是否成功
1).判断用户是否存在
2).如果存在
1).判断用户密码是否正确
如果正确,登陆成功,推出循环
如果密码不正确,重新登陆,总共有三次机会登陆
3).如果用户不存在
重新登陆,总共有三次机会

   
users = ['root','westos']
password = ['123','456']
trycount = 0
while trycount < 3:
    inuser = input('请输入用户名:')
    inpasswd = input('请输入密码:')
    trycount += 1
    if inuser in users:
        index =  users.index(inuser)
        passwd = password[index]
        if inpasswd == passwd:
            print('%s登陆成功' %inuser)
        else:
            print('%s登录失败,密码错误' %inuser)
    else:
        print('%s用户不存在' %inuser)
else:
    print('登陆次数过多超过三次请稍后再试!!!!')
打印结果
请输入用户名:qq
请输入密码:123
qq用户不存在
请输入用户名:root
请输入密码:456
root登录失败,密码错误
请输入用户名:root
请输入密码:123
root登陆成功
登陆次数过多超过三次请稍后再试!!!!

练习2
后台管理员只有一个用户: admin, 密码: admin
2. 当管理员登陆成功后, 可以管理前台会员信息.
3. 会员信息管理包含:
添加会员信息
删除会员信息
查看会员信息
退出

print('管理员登陆'.center(50,'*'))
inusers =  input('Username:')
inpasswd = input('Password:')
users = ['root', 'westos']
passwds = ['123', '456']
if inusers == 'admin' and inpasswd == 'admin':
    print('管理员登陆成功!')
    print('进行会员信息管理'.center(50,'*'))
    while True:
        print("""
           菜单目录 
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        """)
        choice = int(input('请输入选择:'))
        if choice == 1:
            print('添加会员信息'.center(50,'*'))
            adduser = input('添加会员名称:')
            if adduser in users:
                print('%s该会员已经存在' %adduser)
            else:
                addpasswds = input('添加会员密码:')
                users.append(adduser)
                passwds.append(addpasswds)
                print('%s会员添加成功' %adduser)
        elif choice == 2:
            print('删除会员信息'.center(50,'*'))
            deluser = input('删除会员的名称:')
            delindex = users.index(deluser)
            users.remove(deluser)
            passwds.pop(delindex)
            print('%s会员删除成功' %deluser)
        elif choice == 3:
            print('产看会员信息'.center(50,'*'))
            print('\t用户名字\t用户密码')
            usercount = len(users)
            for i in range(usercount):
                print('\t%s\t%s' %(users[i],passwds[i]))
        elif choice == 4:
            exit()
        else:
            print('请输入正确选择!!!')
else:
    print('管理员登录失败!!!')
打印结果
**********************管理员登陆***********************
Username:admin
Password:admin
管理员登陆成功!
*********************进行会员信息管理*********************

           菜单目录 
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        
请输入选择:1
**********************添加会员信息**********************
添加会员名称:xiaoli
添加会员密码:lee
xiaoli会员添加成功

           菜单目录 
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        
请输入选择:3
**********************产看会员信息**********************
	用户名字	用户密码
	root	123
	westos	456
	xiaoli	lee

           菜单目录 
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        
请输入选择:2
**********************删除会员信息**********************
删除会员的名称:xiaoli
xiaoli会员删除成功

           菜单目录 
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        
请输入选择:3
**********************产看会员信息**********************
	用户名字	用户密码
	root	123
	westos	456
           菜单目录 
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        
请输入选择:4
Process finished with exit code 0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值