一、列表
1.增删
myList = ["C","Java","Python","PHP"]#初始化列表
print(myList)#打印整个列表,不过形式可能不是想要的
print(myList[2])#访问打印列表元素
myList[3] = "JavaScript"#修改列表元素
#增
myList.append("PHP")#在列表尾部添加元素
myList.insert(0,"Lisp")#在第0个位置插入元素,其余元素右移一格
#删
del myList[0]#删除第0个位置的元素,其余左移
a = myList.pop()#像出栈一样把最后一个元素pop出来,给予变量a
b = myList.pop(1)#弹出第一个位置的元素。由此可见,这里的pop和栈的pop不一样
myList.remove("Java")#如果有多个Java,删除第一
2.组织
MyFirstList = [1,4,-2,6,100]
mySecondList = ['a','s','d','f']
#正向排序(列表中不能同时含有字符串,数字)
myFirstList.sort()
mySecondList.sort()
print(mySecondList.sorted())#临时排序,不改变原表中的顺序
#逆向排序
myFirstList.sort(reverse=True)
mySecondList.sort(reverse=True)
print(mySecondList.sorted(reverse=True))
#倒置列表
mySecondList.reverse()
#得到列表长度
print(len(mySecondList))
3.稍微高级一点的用法
①简单统计
#简单统计,字面意思
listForUse = [3,4,5,6]
print(min(listForUse))
print(max(listForUse))
print(sum(listForUse))
②列表解析
#列表解析,方便地创建列表
square = [value**2 for value in range(1,11)]
把方括号内分成两部分来看,value**2是value的平方,for value in range(1,11),让value分别为1到10,
这行代码直接生成一个1到10的平方的列表
③列表切片
#列表切片,使用列表的一部分
FiveGeneral = ["马","关","张","赵","黄"]
Peach = FiveGeneral[1:2]#提取第1,2个元素
other1 = FiveGeneral[:3]#提取从第0个到第3个
other2 = FiveGeneral[1:]#提取从第1个到最后一个
other3 = FiveGeneral[-3:]#提取倒数3个(-3~-1)
列表的切片,可以用在循环遍历中
#只打印第0个到第2个
FiveGeneral = ["马","关","张","赵","黄"]
for general in FiveGeneral[:3]:
print(general)
还可以用于复制列表(和直接赋值不一样,直接赋值相当于把地址给它,不算复制)
FiveGeneral_Copy = FiveGeneral[:]
④元组
元组是不可以修改某个元素值的列表
如果一定想修改,需要给它赋值一个新的元组
matrix = ("blue","green")
matrix[1] = "red" #错误
matrix = ("blue","red")#正确
二、字典
1.解释
①字典内容用大括号包含
②内部每一组分为"键"和"值",用冒号分隔
③通过键取到值,不能通过索引值取值
④字典的键、值可以是列表或者另一个字典;列表的一个元素可以是字典;但是不要嵌套得太复杂
2.使用示例
Water = {"宋江":"及时雨天魁星","卢俊义":"玉麒麟天罡星","总人数":2}
print(Water["卢俊义"])#访问字典值
Water["吴用"] = "智多星天机星"#向字典中添加元素
Water["总人数"] = 3 #修改元素,看上去和添加元素操作一样
del Water["总人数"]#删除某个键值对
*字典可以在开始时设为空,后续一个一个元素添加
3.遍历
①普通遍历
Water = {"宋江":"及时雨天魁星","卢俊义":"玉麒麟天罡星","总人数":2}
#遍历键 方法一
for name in Water.keys():
print(name)
#遍历键 方法二
for name in Water:
print(name)
#遍历值
for title in Water.value():
print(title)
#遍历键值对
for item in Water.items():
print(item)
#遍历键值对的每一对键和值
for name,title in Water.items():
print("name:"+str(name))
print("title:"+str(title))
主要需要注意for那一行Water后面.的东西不一样
②特殊遍历
按排序遍历(如果是中文,排序是按拼音首字母顺序来的)
Water = {"宋江":"及时雨天魁星","卢俊义":"玉麒麟天罡星","总人数":2}
for name in sorted(Water.keys()):
print(name)
去重遍历(利用到集合的互异性)
Water = {"宋江":"及时雨天魁星","总人数":2,"卢俊义":"玉麒麟天罡星","总人数":2}
for name in set(Water.keys()):
print(name)