day3—python——列表操作

1.变量是用来存东西的
2.list也叫列表、数组、array, 列表使用中括号定义,list是有序的,每人都有编号,计算机里面起始都是从0开始,标号也叫下标、索引、角标。类型可以为字符串、数字、浮点
0 1 2
stu_name = ['崔海龙', '杨帆', '刘荣欣', 1, 1.5]
print(stu_name[1]) # 此时打印的是 杨帆
print(stu_name) # 打印整个list ['崔海龙','杨帆','刘荣欣',1,1.5]

3.列表的增删改查

stu_name.append('杨月') # 在list的末尾添加一个元素 ['崔海龙','杨帆','刘荣欣',1,1.5,'杨月']
stu_name.insert(0,'小军') # 指定位置添加元素 ['小军','崔海龙','杨帆','刘荣欣',1,1.5,'杨月']
stu_name.insert(0,'谭爱玲') # 继续添加是在小军前面 ['谭爱玲', '小军', '崔海龙', '杨帆', '刘荣欣', 1, 1.5, '杨月'] 因为变量都是存在内存里,运行成功后就释放内存,所以不会重复添加
如果两行均为stu_name.insert(0, '小军') ,则显示['小军', '小军', '崔海龙', '杨帆', '刘荣欣', 1, 1.5, '杨月']
--------------------------------------------------------------------------------

print('修改之前的', stu_name)
stu_name[6] = '孔垂顶' # 直接赋予新值
print(stu_name)
# 修改之前的 ['小军', '小军', '崔海龙', '杨帆', '刘荣欣', 1, 1.5, '杨月']
['小军', '小军', '崔海龙', '杨帆', '刘荣欣', 1, '孔垂顶', '杨月']
修改只有这一种重新赋值的方法
--------------------------------------------------------------------------------

stu_name.pop() # 删除list中最后一个元素
stu_name.pop(4) # 删除list中指定的元素
stu_name.remove('小军') # 删除list中指定的元素,以字符串的形式,而不是下标,如果有一样的元素,只会删除第一个
stu_name.pop(9) # 指定不存在的下标,会报错,IndexError: pop index out of range下标越界
del stu_name[-1] # 删除最后一个元素 从右往左数
--------------------------------------------------------------------------------

print(stu_name[1]) # 查看下标为1的元素,即第二个元素
print(stu_name.count('小军')) # 查询某个元素在list里面出现的次数

my_list = ['小黑', '小白', 1, 1, 2, 1.5]
print('index方法:', my_list.index(1)) # 查找元素的下标,如有多个,显示第一个,元素不存在的话,会报错,index()里是元素而不是下标,所以应该显示为:index方法:2
print('reverse:', my_list.reverse()) # reverse是反转list,没有返回值,搭配下行使用,显示结果
print(my_list) # 显示 [1.5, 2, 1, 1, '小白', '小黑']
my_list.clear() # 清空整个list
nums = [9.23, 9, 3, 6, 1, 0]
nums.sort(reverse=True) # 排序,如果指定了reverse=True,那么就是降序,比较方法,数据类型必须一致
print(nums) # [9.23, 9, 6, 3, 1, 0]
nums.sort() # 排序,如果不指定,那么就是升序
print(nums) # [0, 1, 3, 6, 9, 9.23]
nums.extend(my_list) # 把一个list里面的元素加入进去,就是把之前my_list这里的数据加到nums的数据后面
new_list = nums + my_list # new_list等于nums里的数据加上my_list里的数据
print(new_list)
print(new_list * 3) # 复制几个,显示3遍new_list里的数据
nums = nums + my_list # 重新定义nums也是可以的,就是nums等于旧nums加上my_list里的元素

4.多维数组
nums1=[1,2,3] #一维数组
nums2=[1,2,3,[4,56]] #二维数组
# print(nums2[-1][-1]) or print(nums2[3][1]) 56
nums=[1,2,3,4,['a','b','c','d','e',['一','二','三']],['四','五']] #三维数组
# print(nums[-2][-1][-2]) or print(nums[4][5][1]) 二 ;print(nums[-1][-1]) or print(nums[5][1]) 五
nums=[1,2,3,4,['a','b','c','d','e',['一','二','三',[1,2,3]]]] #四维数组

5.列表循环
passwords=['123456','123123','7891234','password']
# print(len(passwords)) #取长度,也就是list里面元素的个数
#循环这个list
count = 0 #最原始list取值方式,是通过每次计算下标来获取元素的
while count<len(passwords):
s = passwords[count]
print('每次循环的时候',s)
count+=1
--------------------------------------------------------------------------------
passwords=['123456','123123','7891234','password']
index = 0
for p in passwords: #for循环直接循环一个list,那么循环的时候就是每次取它的值
passwords[index] = 'abc_'+p #循环下标,每次在每个list取值前加上abc
index+=1
print(passwords)
--------------------------------------------------------------------------------
enumerate函数

passwords=['123456','123123','7891234','password']
for index,p in enumerate(passwords): #使用枚举函数,它会帮你计算下标和元素 index和p都是随便起的名
passwords[index] = 'abc_' + p
print(passwords)

# ['abc_123456', 'abc_123123', 'abc_7891234', 'abc_password']




users = ['nhy','haha']

校验用户名是否存在的
for i in range(5): #5次循环
username = input('请输入用户名:')
#如果用户不存在的话,就说明可以注册,
# if users.count(username)>0: #如果list里出现username的次数为0,说明不在list里,可以注册
if username not in users: #in就是判断在不在里面,in就是在,not in就是不在
print('用户未注册,可以注册')
users.append(username)
else:
print('用户已注册')






posted @ 2018-08-29 23:10  apollecn  阅读(155)  评论(0编辑  收藏  举报