Python 三 (列表,内置方法,元组)

1.列表

1.列表和数组的区别:

  • 数组:存储同一数据类型的集和
  • 列表:存储不同数据类型的同一集和

2.列表的特性

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

1)索引

service[0]   #列表第一个
service[-1]  #列表倒数第一个

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

service[1:]   #2到最后
service[:-1]  #除了最后一个
service[::-1] #倒序

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

service * 2

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

service1 = ['mysql','firewalld']
service + service1

在这里插入图片描述
5)
目标是否在列表中,如果在返回True,如果不在返回False

'mysql' in service
'mysql' in service1

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

print('显示所有服务'.center(50,'*'))
for se in service:
     print(se)

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

service2 = [['http',80],['ssh',22],['ftp',21]]

1)索引

service2[0][1]  #第一层列表里的第一个列表,中的第二个
service2[-1][1] #第一层列表里的倒数第一个列表,中的第二个

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

print(service2[:][1])
print(service2[:-1][0])
print(service2[0][:-1])

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

在这里插入图片描述
4.列表的增加

service = ['http','ssh','ftp','dns']
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)

在这里插入图片描述
5.列表的删除

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

1)弹出pop
弹出的值可以继续使用

out=service.pop()
print(out)

在这里插入图片描述
弹出指定元素:

a=service.pop(0) #弹出第一个
print(a) 

在这里插入图片描述
2)remove:删除指定元素
清空内存地址(从内存中直接删除)

a = service.remove('ssh')
print(service)

在这里插入图片描述
3)从内存中删除列表

del service
print(service) 

(列表被删除就不能使用了)
6.列表的修改

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

1)通过索引,重新赋值

service[0] = 'mysql'
print(service)

在这里插入图片描述
2)通过切片,重新赋值

print(service[:2])
service[:2] = ['samba','nfs']
print(service)

在这里插入图片描述
7.列表的查看

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

1)查看出现的次数

print(service.count('ftp'))
print(service.count('dns'))

在这里插入图片描述
2.查看指定元素的索引值(可以指定索引范围查看)

print(service.index('ssh'))
print(service.index('ftp',1,4))  #1-4内查找

在这里插入图片描述
8.列表的排序
1)sort()函数排序:默认ASCII码排序
在这里插入图片描述
2)将原有的列表顺序打乱

import random

li = list(range(10)) #输出1-10
print(li)

random.shuffle(li)  #打乱顺序
print(li)

在这里插入图片描述
9.实例:
1)用户管理

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

#尝试登录次数
count = 0

while count < 3:
    inuser = input('用户名: ')
    inpassword = input('密码: ')

    count += 1

    if inuser in users:
        index = users.index(inuser)
        password = passwords[index]

        if inpassword == password:
            print('%s登录成功' %(inuser))
            break
        else:
            print('%s登录失败 : 密码错误' %inuser)
    else:
        print('用户%s不存在' %inuser)
else:
    print('尝试超过三次,请稍后重试')

在这里插入图片描述

2.内置方法

1.两数中的较小数

min(2,3)
结果:2

结果:2

max(2,3)
结果:3

3.求和

sum(range(1,101)) #1-100的和
结果:5050
sum(range(1,101,2))  #1-100奇数和
结果:2500
sum(range(2,101,2))  #1-100偶数和
结果:2550

4.枚举:返回索引值和对应的value值

for i,v in enumerate('hello'):
    print(i,v)

在这里插入图片描述

s1 = 'abc'
s2 = '123'

for i in zip(s1,s2):
    print(i)

在这里插入图片描述

for i in zip(s1,s2):
    print('-'.join(i))

在这里插入图片描述

3.元组

1.元组(tuple):

  • 元组本身是不可变数据类型,没有增删改查
  • 元组内可以存储任意数据类型
t=(1,2.3,True,'star')
print(t)
print(type(t))
  • 元组里面包含可变数据类型,可以间接修改元组内容
t1 = ([1,2,3],4)
t1[0].append(4)  #t1[0]:元组中的第一个元素,即[1,2,3]
print(t1)

在这里插入图片描述

  • 元组里如果只有一个元素的时候,后面要加逗号,否则数据类型不确定
t2 = ('hello',)
print(type(t2))

在这里插入图片描述
如果不加逗号:
在这里插入图片描述
2.元组的特性
1)索引

allowusers = ('root','westos','redhat')
allowpasswd = ('123','456','789')
print(allowusers[0])
print(allowusers[-1])

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

print(allowusers[1:])
print(allowusers[:-1])
print(allowusers[::-1])

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

print(allowusers * 3)

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

print(allowusers + ('linux','python'))

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

print('westos' in allowusers)
print('westos' not in allowusers)

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

for user in allowusers:
    print(user)

在这里插入图片描述
7)枚举

for index,user in enumerate(allowusers):
    print('第%d个白名单用户: %s' %(index+1,user))

在这里插入图片描述

for user,passwd in zip(allowusers,allowpasswd):
    print(user,':',passwd)

在这里插入图片描述
3.元组的常用方法

t = (1,2.3,True,'linux')

1)统计出现次数

print(t.count('linux'))

在这里插入图片描述
2)查看索引值

print(t.index(1))

在这里插入图片描述
4.元组的应用场景

1)

  • 元组的赋值,有多少个元素,就用多少个变量接收
t = ('westos',11,100)
name,age,score = t
print(name,age,score)

在这里插入图片描述
2)排序
1>.sort() 方法排序

scores = (100,89,45,78,65)
scoresLi = list(scores) #转换为列表
scoresLi.sort()         #排序
print(scoresLi)

在这里插入图片描述
2>sorted() 函数排序

scores = sorted(scores)
print(scores)

在这里插入图片描述
3)

minscore,*middlescore,maxscore = scores  #*表示可以接收多个值
print(minscore)
print(middlescore)
print(maxscore)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值