1. 列表
使用方括号来表示列表,并用逗号分隔其中元素。
name = ['zhangsan','lisi','wangwu']
若直接使用print将列表打印,则将打印列表内部表示,包括方括号。要打印内部信息则需访问列表
print(name[0]) #输出 zhangsan
列表的下标从0开始而不是1,可以通过列表的下标选取到列表内每一个元素的值(下标不可超过列表的长度)
1) 修改
name[1] = 'moxie' #通过下标选择需要修改的元素后,直接重新为其赋值
2) 添加
name.append('mok') #append()在列表最后加入新添加的元素
name.insert(1,'moxie') #insert(),第一个参数为待插入的位置,第二个参数为插入的值
3) 删除
使用del语句进行删除
del name[0] #del 删除选中下标的值
使用pop()进行删除,pop()可删除列表末尾的元素,并能够接着使用它。
del_name = name.pop(0) #将name中第一个元素弹出,并将其赋值给del_name print(name) print(del_name) #输出 #['lisi','wangwu'] #zhangsan
使用remove()删除元素
name.remove('zhangsan') #删除列表中第一个与关键字相同的元素,若要删除全部则需要使用循环判断
4) 排序
1 cars = ['bmw','audi','toyota','subaru'] 2 3 cars.sort() #sort()为按字母顺序排列 4 5 cars.sort(reverse = true) #将sort()的参数设置为reverse=true,为按字母顺序反向排序 6
使用sort()进行的排序均为永久性排序,若要对列表进行暂时性排序,则使用sorted()方法
print(sortd(cars)) #输出的为cars列表的反向排列
5) 反转
若要倒着打印列表,则使用reverse()方法
cars.reverse() #使用reverse()方法将列表反转 print(cars)
6) 确定列表长度
print(len(cars)) #使用len()方法确定列表长度
7) 列表的索引
列表中常常需要引用最后一个元素,在索引时常常出现下表错误的问题,导致程序报错,此时可以使用-1的索引,默认指向最后一个元素,-1索引只会在列表为空
时报错。
print(cars[-1]) #此时默认输出cars列表中的最后一个元素
8) 列表的遍历
若要完成列表的遍历,需要使用循环。
(需注意Python中的for循环和while循环语法与Java存在不同。Python中的for循环和while循环,不使用引号进行包围,使用缩进判断是循环块内语句或是外部语句
故在Python中需要特别注意每行的缩进,避免因缩进造成逻辑错误)
cars = ['bmw','audi','byd','toyota'] for car in cars : #使用for循环遍历列表 print(car) #输出 #bmw #audi #byd #toyota
9) 数值列表
使用range()生成数值列表,range()方法从第一个数起,到第二个数的前一个停止。
for value in range(1,5) print(value) #此时将会依次输出1-4
使用list()和range()生成数值列表
numbers = list(range(1,8)) print(numbers) #输出列表numbers [1, 2, 3, 4, 5, 6, 7]
range()函数还可以指定步长
numbers = list(range(2,11,2)) print(numbers) #numbers为10以内的偶数 #range()方法的第三个参数表示步长
ps:在Python中,**表示乘方运算
10) 数值列表的简单统计
numbers = list(range(2,11,2)) print(min(numbers)) #选择数值列表中最小的元素 print(max(numbers)) #选择数值列表中最大的元素 print(sum(numbers)) #计算数值列表中所有元素的和
11) 列表切片
处理列表的部分元素,在Python中称之为切片
name = ['zhangsan','lisi','wangwu','zhaoliu','moxie','mok'] print(name[0:2]) #输出前两个元素 print(name[2:4]) #从第三个开始 ,输出到第四个元素 print(name[:2]) #当未设置起始索引则默认从头开始 print(name[2:]) #当未设置结束索引则默认提取到最后一个 print(name[-3:]) #-3则表示提取最后三个元素,无论列表长度是否改变
12) 复制列表
分为深拷贝和浅拷贝
import copy goods = ["ipad","iphone",["apple","vivo"],"imac","applewatch"] goods2 = goods.copy() #copy()方法为浅拷贝,当二维的列表改变后,复制后的列表同时改变 goods[2][0]="APPLE" print(goods) print(goods2) goods = ["ipad","iphone",["apple","vivo"],"imac","applewatch"] goods2 = copy.deepcopy(goods) #使用copy模块中的deepcopy()方法,可以进行深拷贝,当原列表中的二维元素改变后,新列表中的二维元素并不会改变
2. 元组
元组其实跟列表差不多,也是存一组数据,只不是它一旦创建,便不能再修改,所以又叫只读列表
name = ('zhangsan','lisi','wangwu') #元组为圆括号包围的
元组只有两个方法,一个是count一个是index,count()用于统计在元组中某个关键字的个数,index()用于定位某关键字在元组中的位置
3. 字典
1) 字典的定义
字典由一系列的键值对组成,每个键都有对应的值关联。字典由花括号包围。
userInfo = {'moxie':'student', 'alex':'IT', #键值间用冒号隔开 'mok':'teacher'} #键值对间用逗号隔开
2) 取值
通过键可以取到相应的值
print(userInfo['moxie']) #输出 student
3) 添加键值对
userInfo['david']='student' print(userInfo) #输出 #{'moxie': 'student', 'alex': 'IT', 'mok': 'teacher', 'david': 'student'}
在实际使用中,也可先定义一个空白字典,在根据实际使用情况再手动向字典中添加键值对
studentInfo = {} studentInfo['moxie']='18' studentInfo['mok']='22' print(studentInfo) #输出 #{'moxie': '18', 'mok': '22'}
4) 修改键值对
修改键值对的操作与添加键值对语法相同,将方括号内待添加的键改成待修改的键,引号中的值改为待修改的值即可
5) 删除键值对
使用del进行删除
del studentInfo['moxie'] #使用del语句配合键进行删除
使用pop进行删除
studentInfo.pop('moxie') #使用pop方法进行删除
6) 遍历字典
for k,v in studentInfo.items(): print(k,v) #方法一
for k in studentInfo: print(k,studentInfo[k]) #方法二
7) 嵌套
userInfo = {'moxie':{'age':'18','balance':'1000'}, 'mok':{'age':'22','balance':'10'}, 'david':{'age':'13','balance':'109'},}
对嵌套了字典的字典,使用两层for循环对其进行遍历,以取出字典中所有元素
for k in userInfo: print(k) for j in userInfo[k]: print(j,userInfo[k][j])