前言
漫漫python路开始,作为一个程序员,要写的了前端,做的了后端,写的了sql,懂的了部署,最近火热的python当然也要搞起来,所以不得不折腾起来了。来,左边跟我一起学java,右边一起从小白学python,一起学习,一起成长
一、列表
1、列表的格式:
一个列表需要用中括号[ ]
把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。
例如:names = ['张三','李四','王五']
names = ['张三','李四','王五'] for i in names print(i+',你好')
运行结果:
2、打印一个元素
当然,也可以一个个的打印,下标从0开始
names = ['张三','李四','王五'] print(names[1]+',你好')
3、同时打印多个元素
同时打印多个元素,我们用冒号来切片,顾名思义,就是将列表的某个片段拿出来处理。这种切片的方式可以让我们从列表中取出多个元素。
list2 = [0,1,2,3,4,5,6,7,8,9] print(list2[:]) print(list2[2:]) print(list2[:2]) print(list2[1:3]) print(list2[2:4])
对于上面的输出,可能大家比较难记,有点类似于java的substr函数了,大家只要记住下面的这句口诀就可以了:冒号左右空,取到头;冒号左要取,右不取
4、给列表增加和删除元素
增加元素
需要用到append()函数给列表增加元素,append的意思是附加,增补。用append()给列表增加元素,每次只能增加一个元素
列表中的元素可以是字符串、数字等,也可以是列表本身(即列表内部支持嵌套),append函数后的参数只要满足数量为一即可(单个列表也会视作一个元素)。append后的元素,会添加在列表的末尾。
names = ['张三','李四','王五'] names.append('赵六') print(names)
删除元素
用到del()函数,del语句非常方便,既能删除一个元素,也能一次删除多个元素(原理和切片类似,左取右不取)
names = ['张三','李四','王五','赵六'] print(names) del(names[3]) print(names) del(names[0:2]) print(names)
二、字典
上面的列表类似java 的list功能,python还有一种就是类似java的map功能
1、字典的格式
小明、小红、小刚分别考了95、90和90分,还用列表来装数据的话,我们需要新创建一个列表来专门放分数,而且要保证和姓名的顺序是一致的,很麻烦,所以类似这种名字和数值(如分数、身高、体重等)两种数据存在一一对应的情况,用第二种数据类型——“字典”(dictionary)来存储会更方便.
字典的元素是由一个个键值对构成的,用英文冒号连接。如'张三':18,其中我们把'张三'叫键(key),18叫值(value)。这样唯一的键和对应的值形成的组合,我们就叫做【键值对】,字典中的键具备唯一性,而值可重复
格式:ages = {'张三':18,'李四':19,'王五':20}
列表通过索引来获取值,比如list[0] ,而字典是通过键来获取值的
比如
1. ages = {'张三':18,'李四':19,'王五':20} 2. print(ages['张三'])
2、给字典增加/删除元素
删除字典里键值对的代码是del语句del 字典名[键]
,而新增键值对要用到赋值语句字典名[键] = 值
。
ages = {'张三':18,'李四':19,'王五':20} print(ages['张三']) #删除 del ages['张三'] print(ages) #增加 ages['赵六'] = '21' print(ages)
三、列表和字典的相同处
在列表和字典中,如果要修改元素,都可用赋值语句来完成
names = ['张三','李四','王五'] names[1] = '赵六' print(names) ages = {'张三':18} ages['张三'] = 20 print(ages)
四、互相嵌套使用
# 最外层是大括号,所以是字典嵌套列表,先找到字典的键对应的列表,再判断列表中要取出元素的偏移量 students = { '第一组':['小明','小红','小刚','小美'], '第二组':['小强','小兰','小伟','小芳'] } print(students['第一组'][3]) #取出'第一组'对应列表偏移量为3的元素,即'小美' # 最外层是中括号,所以是列表嵌套字典,先判断字典是列表的第几个元素,再找出要取出的值相对应的键 scores = [ {'小明':95,'小红':90,'小刚':100,'小美':85}, {'小强':99,'小兰':89,'小伟':93,'小芳':88} ] print(scores[1]['小强']) #先定位到列表偏移量为1的元素,即第二个字典,再取出字典里键为'小强'对应的值,即99。
五、列表和字典的不同
列表中的元素是有自己明确的“位置”的,所以即使看似相同的元素,只要在列表所处的位置不同,它们就是两个不同的列表
而字典相比起来就显得随和很多,调动顺序也不影响。因为列表中的数据是有序排列的,而字典中的数据是随机排列的
# 如果==左右两边相等,值为True,不相等则为False。 print(1 == 1) # 1等于1,所以值为True print(1 == 2) # 1不等于2,所以为False names1 = ['张三','李四','王五'] names2 = ['王五','张三','李四'] print(names1 == names2) ages1 = {'张三':18,'李四':19,'王五':20} ages2 = {'王五':20,'张三':18,'李四':19} print(ages1 == ages2)