python之列表、元祖、字典和数组的使用
一、列表[]
1.列表元素访问及修改(可以通过下标索引取值)
x = list('python') print(x) # ['p', 'y', 't', 'h', 'o', 'n'] """ 正数顺序访问,负数倒序访问 """ print(x[1]) #y print(x[-1]) #n print(x[-2]) #o """ 用下标进行修改 """ x[2] = 'a' print(x)#['p', 'y', 'a', 'h', 'o', 'n']
2. [增]操作:append()、insert()、extend()
A. x.append(2)
print(x) # ['p', 'y', 't', 'h', 'o', 'n',2]
#在末尾添加数字2 append是列表所特有的方法,其他常见的对象是没有这个方法的,该方法是往列表的尾部增加元素,而且每次只能增加一个元素。如果需要一次增加多个元素,该方法无法实现,只能使用列表的extend方法。
B. x.extend([20,200,2000,20000])
print(x) # ['p', 'y', 't', 'h', 'o', 'n',2,20,200,2000,20000]
#使用extend方法往列表尾部增加多个元素时,一定要将多个元素捆绑为列表传递给该方法,即使只有一个元素,也需要以别表的形式传递
C. x.insert(2,11)
print(x) # ['p', 'y',11, 't', 'h', 'o', 'n',2,20,200,2000,20000]
x.insert(6,['a','b','c'])
print(x) # ['p', 'y',11, 't', 'h', 'o',['a','b','c'],'n',2,20,200,2000,20000]
#insert方法可以在列表的指定位置插入新值,该方法需要传递两个参数:一个是索引(或下标)参数,如上面的2,是指在列表元素的第三个位置插入:另一个参数是具体插入的值,既可以是一个常量,也可以是一个列表,如果是列表,就是以嵌套列表的形式插入。
3.列表元素的删除
列表的删除有三种方法,分别是pop,remove和clear。
3.1 x.pop() #删除列表中最后一个元素
print(x)
x.pop(2) #删除x中11这个元素
#pop方法每次只能删除单个元素,默认删除末尾位置的元素,也可以删除指定下标位置的元素
3.2 x.remove(['a','b','c'])
print(x)
#remove方法提供了删除指定值的功能,该功能非常棒,但是它只能删除首次出现的指定值。如果你的列表元素特别多,通过pop方法删除指定位置的元素就显得非常的笨拙,因为你需要数出删除值的具体位置,而使用remove方法就很方便。
3.3 x.clear()
#clear从字面理解的意思就是清空的意思。如上结果所示,通过clear方法返回的是一个空列表。
4.列表元素的修改\排序,计数,查询位置,逆转
4.1修改
例如:x=['p', 'y', 't', 'h', 'o', 'n',2]
print(list4[1])
list4[1]='W'
4.2计数
X = [7,3,9,11,4,6,10,3,7,4,4,3,6,3]
print(list5.count(3)) #计算列表中3的个数
4.3查询
index:查找指定元素的小包,找到了返回下标值,没有找到报错
print(list5.index(6)) #找出元素6所在的位置
4.4逆转
list5.reverse() #列表元素的颠倒
4.5排序
list5.sort(reverse=Ture) #按倒序排列列表中的元素
可以用sort()方法将列表中的值排序,sort方法有一个关键字用来控制正反reverse,默认是从小到大或者从字母表的顺序排列的;
如 :spam.sort() 默认正序
spam.sort(reverse= True) 反序
5.列表切片
lists[m:n] 的写法,其中m:n分别代表的是从列表第m+1个元素开始,到第n+1个元素终止。例如:groups[0:3] 的写法,其中0:3分别代表的是从列表第一个元素开始,到第三个元素终止
1)没有指定第一个索引,python会默认从0开始处理列表,
2)如果没有指定最后一个索引,python会从列表末尾终止
3)指定的列表索引超出了界限,python还是正常的打印了整个列表并没有提示有任何的错误,负数索引返回的的是距离列表末尾相应距离的元素。
lists = ["WUHAN", "NANJING", 'shanghahi', 'henang', 'beijing'] print(lists[0:3]) # [123, 567, 'shanghahi'] print(lists[:3]) # [123, 567, 'shanghahi'] print(lists[1:]) # [567, 'shanghahi', 'henang', 'beijing'] print(lists[1:8]) # [567, 'shanghahi', 'henang', 'beijing'] print(lists[-3:8]) # ['shanghahi', 'henang', 'beijing']【负数索引返回的的是距离列表末尾相应距离的元素。】 for member in lists[0:5]: print("current member is:" + member); ''' current member is:WUHAN current member is:NANJING current member is:shanghahi current member is:henang current member is:beijing '''