python中的列表

1.列表的创建

列表里可以存储不同的数据类型

li = [1,1.5,'hello',True]
print(li)
print(type(li))

在这里插入图片描述
列表里也可以嵌套列表(列表也是一种数据类型)

li1 = [1,1.5,'hello',True,[1,2,3,4,5]]
print(li1)
print(type(li1))

在这里插入图片描述

2.列表的特性

1.索引

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

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

在这里插入图片描述
2.切片

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

在这里插入图片描述
3.重复

#重复
print(service * 3)

在这里插入图片描述
4.连接

# 连接
service1 = ['nfs','samba']
print(service + service1)

在这里插入图片描述
5.成员操作符

service1 = ['nfs','samba']
#成员操作符
print('nfs' in service)
print('nfs' in service1)

在这里插入图片描述
6.迭代(for循环遍历)

service = ['http','ssh','ftp']
for i in service:
    print(i)

在这里插入图片描述
7.列表的嵌套

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

在这里插入图片描述
1.索引
在这里插入图片描述
2.切片
在这里插入图片描述
练习:
1.输入月份,判断季节。

month = int(input('Month:'))
if month in [3,4,5]:
    print('春季')
elif month in [6,7,8]:
    print('夏季')
elif month in [9,10,11]:
    print('秋季')
elif month in [12,1,2]:
    print('冬季')
else:
    print('请输入正确值:')

在这里插入图片描述
2.输入日期,判断是这年的第几天。

time = input('请输入日期 YYYY-MM-DD:')
date = time.split('-')
year = int(date[0])
month = int(date[1])
day = int(date[2])

li = [31,28,31,30,31,30,31,31,30,31,30,31]
num = 0

if ((year % 4 ==0) and (year % 100 != 0) or (year % 400 == 0)):
    li[1] = 29
for i in range(12):
    if month > i + 1:
        num += li[i]
    else:
        num += day
        break
print('这一天是%d年的第%d天' %(year,num))

在这里插入图片描述
3.假定有下面的列表: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])

在这里插入图片描述

3.列表的增加

方法1:使用列表的连接特性

service = ['http','ssh','ftp']
print(service + ['firewalld'])

在这里插入图片描述
方法2.append:追加,追加一个元素到列表中

service = ['http','ssh','ftp']
service.append('firewalld')
print(service)

在这里插入图片描述
方法3…extend:拉伸 追加多个元素到列表中

service = ['http','ssh','ftp']
service.extend(['mysql','firewalld'])
print(service)

在这里插入图片描述
方法4.insert:在指定索引位置插入元素

service = ['http','ssh','ftp']
service.insert(1,'samba')
print(service)

在这里插入图片描述

4.列表的删除

方法1.使用pop删除列表

service=['http','ssh','ftp']
service.pop()
print(service)

在这里插入图片描述
注意:pop命令默认的是删除最后一个,而且删除之后依旧可以进行查看。

删除指定的位置元素

service = ['http','ssh','ftp']
print(service.pop(1))
print(service)

在这里插入图片描述
方法2.remove:删除指定的元素

service = ['http','ssh','ftp']
a = service.remove('ssh')
print(type(a))
print(service)

在这里插入图片描述注意:
1.结果中之所以变量a的类型是NoneType,是因为其ssh被彻底删除了,没有任值
2.remove命令是指彻底删除列表中某一个元素

方法3.del彻底删除

service = ['http','ssh','ftp']
print(service)
del service
print(service)

在这里插入图片描述注意:执行python程序后会出现NameErrot报错,是因为service列表已经被彻底删除了

4.列表的修改

方法1.通过索引,重新赋值

service = ['http','ssh','ftp']
print(service)
service[0] = 'mysql'
print(service)

在这里插入图片描述
方法2.通过切片

service = ['http','ssh','ftp']
print(service)
print(service[:2])
service[:2] = ['samba','iscsi']
print(service)

在这里插入图片描述

5.列表的查看

查看出现的次数

service = ['ssh','http','ssh','ftp']
print(service.count('ssh'))

在这里插入图片描述查看指定元素的索引值

service = ['ssh','http','ssh','ftp']
print(service.index('ssh'))
print(service.index('ssh',0,3))       ##索引范围

在这里插入图片描述注意:这里的索引值是第一次出现的索引值

6.列表中字符的排序

1.对字符进行排序

service = ['ftp','ssh','ftp','dns']
service.sort()
print(service)

在这里插入图片描述
注意:字符依据ASCII码进行从小到大的排序,而且不区分大小写。

2.对数字进行排序

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

在这里插入图片描述
3.将列表打乱

import random
li = list(range(10))
print(li)
random.shuffle(li)
print(li)
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('用户名: ')
    inpasswd = input('密码: ')
    trycount += 1
    if inuser in users:
        index = users.index(inuser)
        passwd = passwds[index]
        if inpasswd == passwd:
            print('%s用户登录成功' %inuser)
            break
        else:
            print('%s登录失败:密码错误' %inuser)
    else:
        print('%s用户不存在' %inuser)
else:
    print('尝试超过3次,请稍后...')

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
用户登陆进阶

  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('请输入您的选择: ')
        if choice == '1':
            print('添加会员信息'.center(50,'*'))
            addUser = input('添加会员名: ')
            if addUser in users:
                print('%s用户已经存在' %addUser)
            else:
                addPasswd = input('密码: ')
                users.append(addUser)
                passwds.append(addPasswd)
                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('管理员登录失败...')

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

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值