Python——列表和字典

一、列表

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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值