一、序列
1、成员有序排列的,且可以通过下标偏移量访问到它的一个或者几个成员,这类类型统称为序列。
2、序列数据类型包括:字符串,列表,和元组类型。
3、特点: 成员关系操作符, 连接操作符, 重复操作符, 索引与切片操作符
二、列表
1、定义
service = ['http','ssh','ftp','dns']
2、索引和切片
service[0] #列表第一个
service[-1] #列表倒数第一个
service[1:] #2到最后
service[:-1] #除了最后一个
3、反转
service[::-1] #倒序

4、操作列表
(1)基本操作
1)len()
2)" + "连接两个序列
service1 = ['mysql','firewalld']
3)" * "重复序列元素
service * 2
- in
'mysql' in service
'mysql' in service1

(2)修改列表元素

5、常用的列表函数

1.append 、 extend 、insert
append:追加,追加一个元素到列表中
extend:拉伸 追加多个元素到列表中
insert:在指定索引位置插入元素

2.remove 、 pop 、del list
remove:删除指定的元素
pop:将删除的元素作为结果返回
del list :从内存中删除列表

3.count 、index
count:查看元素出现的次数
index:查看指定元素的索引值(可以指定索引范围查看)

4.sort 、copy
sort:排序,默认ASCII码排序

补充:深拷贝和浅拷贝"""
***面试常问:请简述赋值, 深拷贝和浅拷贝的区别?(python中如何拷贝一个对象?)
- 直接赋值(li1 = li): 只传递对象的引用, li1指向对象li的内存地址空间,
因此, 原有列表li改变, 被赋值的li1也会做相应的改变.
- 浅拷贝(三种实现方式 eg: li2=li.copy()):li和li2的内存地址不同,
但是子对象的内存地址相同, 因此,原始数据改变 , 子对象也改变.
- 深拷贝(import copy, eg: li3=copy.deepcopy(li)), li和li3的内存地址不同,
包含子对象的拷贝, 所以原始对象改变并不会造成深拷贝里面任何子项的改变.
*** 当深拷贝和浅拷贝, 针对的对象全部是不可变数据类型时, 两者效果相同;
*** 当深拷贝和浅拷贝, 针对的对象包含是可变数据类型时, 两者才有上述区别;
问题: 深拷贝和浅拷贝的区别?/python中如何拷贝一个对象?
赋值: 创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。(=)
浅拷贝: 对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值。(li.copy(), copy.copy())
公用一个值;
这两个变量的内存地址一样;
对其中一个变量的值改变,另外一个变量的值也会改变;
深拷贝: 一个变量对另外一个变量的值拷贝。(copy.deepcopy())
两个变量的内存地址不同;
两个变量各有自己的值,且互不影响;
对其任意一个变量的值的改变不会影响另外一个;



三、练习
用户管理
"""
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('尝试超过三次,请稍后重试')

博客介绍了序列和列表相关知识。序列成员有序,可通过下标访问,包括字符串、列表和元组类型。列表部分涵盖定义、索引切片、反转、操作及常用函数,还补充了深拷贝和浅拷贝。最后有用户管理相关练习。
2902

被折叠的 条评论
为什么被折叠?



