python中的列表

1.创建列表
数组:存储同一数据类型的集合 score = [10,20,30]
(1)列表:可以存储任意数据类型的集合(python中无数组,只有列表)

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

在这里插入图片描述
(2)列表的嵌套

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

在这里插入图片描述
2.列表的特性
service = [‘http’,‘ssh’,‘ftp’,‘dns’]

#索引

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('mysql' in service)
print('mysql' in service1)

在这里插入图片描述
#迭代

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

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

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

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

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

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

在这里插入图片描述
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])

在这里插入图片描述
4.列表的增加
service = [‘http’,‘ssh’,‘ftp’,‘dns’]

#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)
在这里插入图片描述5.列表的删除
#pop:按索引值弹出列表元素
#remove:删除指定元素
#del:从内存中删除列表
(1)

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

print(service)
a = service.pop()
print(service)
print(a)

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

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

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

在这里插入图片描述(3)

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

print(service)
del service
print(service)

在这里插入图片描述
6.列表的修改
service = [‘http’,‘ssh’,‘ftp’,‘dns’]

#通过索引,重新赋值

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

在这里插入图片描述
#通过切片

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

在这里插入图片描述
7.列表的查看
service = [‘ftp’,‘ssh’,‘ftp’,‘dns’]

#查看出现的次数

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

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

print(service.index('ssh'))
print(service.index('ftp',0,4))
print(service.index('ftp',1,4))

在这里插入图片描述
8.列表的排序

import random

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

#讲原有的列表顺序打乱
random.shuffle(li)
print(li)
li.sort()			##从小到大排序
print(li)

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

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

count = 0
while count < 3:
    user = input('请输入用户名:')
    passwd = input ('请输入用户密码:')
    count += 1
    if user in users:
        index = users.index(user)
        pawd = passwords[index]
        if pawd == passwd:
            print('%s用户登陆成功'%(user))
            break
        else:
            print('用户密码错误')
    else:
        print('用户名错误')
else:
    print('登陆超过三次,稍后再尝试')

在这里插入图片描述
在这里插入图片描述
练习2
1.后台管理员用户只有一个 用户:admin 密码:admin
2.管理员登录成功后,才能管理会员信息
3.会员信息包含:
添加会员信息
删除会员信息
查看会员信息
退出

print('管理员登陆'.center(50,'#'))
user1 = input('请输入管理员用户名:')
pawd1 = input('请输入管理员用户密码:')
username = []
password = []
if user1 == 'admin' and pawd1 == 'admin' :
    print('管理员登陆成功')
    print("""
        1.添加会员信息
        2.删除会员信息
        3.查看会员信息
        4.退出
    """)
    while True:
        i = int(input('请选择你要的操作:'))
        if i == 1:
            user2 = input('请输入添加的用户名')
            pawd2 = input('请输入添加的用户密码')
            username.append(user2)
            password.append(pawd2)
        elif i == 2:
            user3 = input('请输入要删除的用户名:')
            index = username.index(user3)
            username.pop(index)
            password.pop(index)
        elif i == 3 :
            user4 = input('请输入要查看的用户名:')
            index = username.index(user4)
            print('%s的用户密码为%s'%(username[index],password[index]))
        elif i == 4 :
            print('再见!')
            exit()
        else:
            print('请输入正确的选择')
else:
    print('管理员登陆失败')

在这里插入图片描述
在这里插入图片描述
栈的工作原理
入栈
出栈
栈顶元素
栈的长度
栈是否为空

zd = ['123','456']
print("""
    1.入栈
    2.出栈
    3.查看栈顶元素
    4.查看栈的长度
    5.判断栈是否为空
""")

while True:
    cz=int(input('请选择你的操作:'))
    if  cz == 1:
        rz1=input('请输入入栈元素:')
        zd.append(rz1)
    if  cz == 2:
        rz2=input('请输入出栈元素:')
        service.remove(rz)
    if  cz == 3:
        num=len(zd)-1
        print(zd[num])
    if  cz == 4:
        print(len(zd))
    if cz == 5:
        if len(zd) > 0:
            print('非空')
        else:
            print('为空')

在这里插入图片描述
python中的内置方法

print(min(2,3))
print(max(2,3,4))
print(sum(range(100)))

在这里插入图片描述
#枚举:返回索引值和对应的value值

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

在这里插入图片描述

s1 = 'abc'
s2 = '123'
print(list(zip(s1,s2)))
for i in zip(s1,s2):
      print(i)

在这里插入图片描述

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

在这里插入图片描述
10.列表生成式
#j将字符串s的三个数值分别显示出来

s = '51 5000 10000'
(1)方法1
li = []
for item in s.split():
    li.append(int(item))

k,a,b = li
print(k,a,b)
(2)方法2
k,a,b = [int(item) for item in s.split()]
print(k,a,b)

在这里插入图片描述在这里插入图片描述
#生成一个列表,列表元素分别为[12,22,32…n2]

li = []

(1)方法1
for i in range(1,8):
     li.append(i ** 2)
print(li)
(2)方法2
print([i ** 2 for i in range(1,8)])
    
# [expression for i in 序列 if ...]

print([i ** 2 for i in range(1,10) if i % 2 == 0])

在这里插入图片描述
#找出所有10以内以偶数为半径的元的面积

import math
(1)方法1
li = []

for r in range(2,11,2): #[2,4,6,8,10]
    square = math.pi * r * r
    li.append(square)

print(li)
(2)方法2
print([math.pi * r * r for r in range(2,11,2)])

在这里插入图片描述
#找出1~num之间的所有质数

def isPrime(num):
    for i in range(2,num):
        if num % i == 0:
            return False
    else:
        return True

print([i for i in range(2,101) if isPrime(i)])

在这里插入图片描述
#找出/var/log目录下,以’.log’结尾的文件名
import os

print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])

在这里插入图片描述

“”"
(2018-腾讯-在线编程题)
-题目描述:
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整
数,并输出结果。输
入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别
为(5,5),(3,7))
#[2,3,5,7]
输入描述:
输入包括一个整数n,(3 ≤ n < 1000)
输出描述:
输出对数
-示例1 :
输入:
10
输出:
2
“”"

num = int(input())
#1.先判断2~num之间有多少质数
def isPrime(num):
    for i in range(2,num):
        if num % i == 0:
            return False
    else:
        return True

primeli = [i for i in range(2,num) if isPrime(i)]
print(primeli)

#1.先从列表里拿出两个数
#2.判断两个数之和是否等于num
primecount = 0

for item in primeli:
    if (num - item) in primeli and item <= num - item:
        primecount += 1

print(primecount)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值