Python基础 part5 字符定义的类型 list

list

定义列表
li = [ ] ,不写内容表示空列表可以用type来查看
在这里插入图片描述
定义列表里的值:li = [1,1.1,True,‘abc’] ,列表里的值不能直接写字母,需要用’’
在这里插入图片描述
列表中的可以嵌套列表

li = [1,1.1,True,'abc',[1,2,3,4,5]]
print(li)
print(type(li))
列表的特性

index索引

li = [1,1.1,True,'abc']

print(li[0])		#显示索引值为0的值
print(li[1:])		#显示索引值1之后的,包括1	
print(li[:1])		#显示索引值1之前的,不包括1
print(li[::-1])		#倒叙显示
print(li[-1])		#显示最后一个

在这里插入图片描述

cut切片
在这里插入图片描述

repeat重复
在这里插入图片描述

link链接
在这里插入图片描述

成员操作符
in 和 not in
在这里插入图片描述

for循环
在这里插入图片描述

嵌套列表索引

service = [['http','80'],['ssh','22'],['ftp','21']]		#定义嵌套列表
print(service[0][1])		#打印service列表中第一个项里的第二个值
print(service[:-1][-1])		#打印service列表中除最后一个外的项的倒数第一个

在这里插入图片描述

练习
假定有下面这样的列表:
names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’]
输出结果为:‘I have fentiao, fendai, fensi and apple.’

names = ['fentiao', 'fendai', 'fensi', 'apple']
print('I have ' +  ', '.join(names[:-1]) + ' and ' + names[-1])

在这里插入图片描述

列表里的添加

添加
在这里插入图片描述

追加append 一次只能添加一个
在这里插入图片描述

拉伸extend 可以一次添加多个
在这里插入图片描述

插入insert

在这里插入图片描述

列表里的删除

弹出.pop()
弹出的值是不会被完全删除掉的,还会存在于内存中消耗资源,所以我们可以给弹出的元素定义变量,在后面需要时再使用,用法如:a = services.pop(),括号里不加值默认是弹出最后一个
在这里插入图片描述
指定需要弹出的值,用index值指定,如:services.pop(0),弹出列表里的第一个值
在这里插入图片描述

移除.remove()
移除是会从内存中删除信息,如果需要移除指定的值,可以在括号中加入,用法如:services.remove(‘httpd’)
在这里插入图片描述
可以看到使用remove后,打印定义的变量a结果为None

删除
删除是直接列表,用法入:del services
在这里插入图片描述
删除后再打印列表,会出现报错列表未被定义

列表里的更改

首先定义列表:service = [‘http’,‘ssh’,‘ftp’]
更改的方式可以通过:索引、切片来进行操作
索引方式更改
直接重新指定列表里的值
在这里插入图片描述
切片方式更改
如:services[1:] = [‘samba’,‘firewalld’],替换除第一个值外的所有值
在这里插入图片描述

列表中的查找

查看列表中元素的个数
在这里插入图片描述

查看列表中元素的索引值
查看索引值,如果一个元素多次出现查看到的索引值是第一次出现的值
在这里插入图片描述
在指定范围查看指定元素的索引值
在这里插入图片描述
这里我们指定的范围是索引3-4,列表的长度是3,而ssh在2和3都有出现,所以在3-4范围查看到的值就是3,如果在0-3范围查看,结果就会是2
在这里插入图片描述

列表中的排序

.sort() 表示对列表里的元素进行排序
在这里插入图片描述
并且我们可以看到,对于排序的元素是先排序字符、数字,然后是大写字母、小写字母
在这里插入图片描述
对于字母可以进行指定是按大写或小写进行排序
name.sort(key=str.lower) ,按小写排序
name.sort(key=str.upper) ,按大写排序
在这里插入图片描述
列表的随机排序
正常我们打印range(10)的序列,结果是按顺序来展示的,如果需要将序列打乱进行随机排列,则需要使用随机数进行操作

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

import random		#导入随机数模块
random.shuffle(li)	#进行随机排列
print(li)

在这里插入图片描述

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

users = ['root', 'westos']
passwds = ['123', '456']

trycount = 0

while trycount < 3:
    inuser = input('Username:')
    inpasswd = input('Password:')
    trycount += 1

    if inuser in users:
        index = users.index(inuser)
        passwd = passwds[index]
        if inpasswd == passwd:
            print('%s login success!' %inuser)
            break
        else:
            print('%s login failed: password not correct!' %inuser)
    else:
        print('User %s not exist!' %inuser)
else:
	print('no more chance')

练习2:
系统里面有多个用户,用户的信息目前保存在列表里面
users = [‘root’,‘westos’]
passwd = [‘123’,‘456’]

  1. 后台管理员只有一个用户: admin, 密码: admin
  2. 当管理员登陆成功后, 可以管理前台会员信息.
  3. 会员信息管理包含:
    添加会员信息
    删除会员信息
    查看会员信息
    退出
    “”"
print('管理员登陆'.center(50,'*'))
inuser = input('Username:')
inpasswd = input('Password:')

users = ['root', 'westos']

passwds = ['123', '456']

if inuser == 'admin' and inpasswd == 'admin':
    print('管理员登陆成功!')
    print('会员信息管理'.center(50,'*'))
    while True:
        print("""
           目录
       1.  添加会员信息
       2.  删除会员信息
       3.  查看会员信息
       4.  退出
        """)
        choice = input('Please input your choice:')
        if choice == '1':
            UserAdd = input('UserNmae:')
            if len(UserAdd) != 0 and UserAdd not in users:
                PassAdd = input('Password:')
                users.append(UserAdd)
                passwds.append(PassAdd)
            elif UserAdd in users:
                print('%s is already exist' %UserAdd)
            else:
                print('Please check UserName')
        elif choice == '2':
            UserDel = input('Userdel:')
            if UserDel in users:
                index_user = users.index(UserDel)
                PasswdDel = passwds[index_user]
                users.remove(UserDel)
                passwds.remove(PasswdDel)
            else:
                print('Please check UserName')
        elif choice == '3':
            print(users,passwds)
            # print(passwds)
        elif choice == '4':
            exit()
        else:
            print('Please check your input!')
else:
    print('管理员登陆失败!')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Howei__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值