20201224-3 列表的使用1

1 把班级中的名字存储下来,如何操作?
name1 name2 name3   …… 这种命名方式绝对不行
所以应该怎么办?

2 names = "ZhangYang Guyun Xiangpeng XuLiangChen"
这里是用空格区分的,逗号也可以
但是,应该如何取?

如果通过字符串存储很多信息   1 不好存   2 不好改   所以出现了一种数据类型,叫 列表
列表的命名规则,就是中括号 []
names = []
现在,一个列表就写完了

print(names)

names = ["ZhangYang","Guyun","XiangPeng","XuLiangchen"]
现在想取出 ZhangYang
print(names[0]) 0 代表 从左到右 开始的 第 1 个位置,计算机从 0 开始,二进制的第一个 就是 0
通过位置 读取出来了

print(names[0],names[2])
取出了 ZhangYang 和 XiangPeng

 

2-1
现在想同时取出 Guyun 和 XiangPeng
print(names[1:2])
只取到了 Guyun 是为什么?
print(names[1:3])   为什么向后错一个,就取到了 Guyun 和 XiangPeng
起止位置包括,截止位置不包括;

print(names[1:3])     # 这个动作,叫切片

2-2
如果不知道列表长度,想取最后一个,在不知道长度的情况下,取到最后的位置
print(names[-1])   取得结果 XuLiangChen 这个是从右边开始数
所以,取 XiangPeng  就是 print(names[-2])
 names = ["ZhangYang","Guyun","XiangPeng","XuLiangchen"]
  print(names[3]) # 切片
  print(names[-2]) # 切片
---> 
XuLiangchen
XiangPeng

2-3 1 取最后两个值 XiangPeng 和 XuLiangchen print(names[-1:-3]) 结果是[]; 因为是 从左往右数的 如果是 print(names[-3:-1]);最右侧的就会取不到; --->['Guyun', 'XiangPeng'] 解决的办法就是 什么也不写 print(names[-2:]) 结果就是 XiangPeng 和 XuLiangChen 2 print(names[0:3]) 和 print(names[:3]) 结果是一样的,前面如果是 0,也是可以忽略掉的 以上是简单的 切片 3 有一个新的需求,现在 想 把 LeiHaidong 放入列表中 3-1 直接追加到后面 names.append("LeiHaidong") 3-2 如果放在一个随意的位置 names.insert(1,"ChenRonghua") 想放哪个位置,就写哪个位置 names.insert(3,"Xinzhiyu") 3-3 修改 Guyun 的值 names[2] = "XieDi"

 

4 删除列表中的某一元素,删除有 3 种方法
4-1 直接 names.remove("ChenRonghua")
4-2 del names[1]
4-3 names.pop()   删掉了最后一个,这是默认的; 如果输入下标,就可以指定     names.pop(1)

5 取出一个元素,知道一个名字叫 XieDi 现在想取出来,如何通过名字取出来,并找到对应的位置
print(names.index("XieDi"))
找到位置后,现在想取出来
print(names[names.index("XieDi")])

6 如果有同名的人,比如有 两个 ChenRonghua
names = ["ZhangYang","Guyun","XiangPeng","ChenRonghua","XuLiangChen"]
names.insert(1,"ChenRonghua")
---> ['ZhangYang', 'ChenRonghua', 'Guyun', 'XiangPeng', 'ChenRonghua', 'XuLiangChen']
现在不知道有多少个 ChenRonghua,需要统计,那么如何统计 有多少个呢?
print(names.count("ChenRonghua"))

7 names.clear() 这个列表就没了 是清空

8 names.reverse()   反转

9 names.sort()  排序
优先级 符号 > 数字 > 大写 > 小写
依据 Ascii 的顺序

10 extend 方法
比如还有一个列表,是另外的一个班级,名字叫 names2
names2 = [1,2,3,4]
names.extend(names2) 相当于把另一个班级并过来
print(names,names2)
-→ ['4ZhangYang', '#!Guyun', 'xXiangPeng', 'ChenRonghua', 'XuLiangChen', 1, 2, 3, 4] [1, 2, 3, 4]
10-1 现在想删掉 names2
del names2  即可

 

posted @ 2020-12-24 14:24  Malakh  阅读(108)  评论(0编辑  收藏  举报