Python列表级元组的方法
list 的主要方法
增:
append 末尾添加,只能增加一个值
insert (索引值,插入值)
extend (两个列表)
删:
del
del a[6]
pop (索引值,索引值若为空默认删除最后一个元素) 只能删除一个值 my_list.pop(2)
remove (删除指定值) my_list.remove(删除第一个指定值)
clear (清空列表) my_list.remove()
改:重新赋值
查:
index (查找某个值的索引值) my_list.index(元素,开始索引值,结束索引值)
count (查看列表中某个值的个数) my_list.count()
append方法
#append 在列表末尾增加元素,一次只能增加一个
a = [1,2,3,4,5]
a.append(6)
print(a)
[1, 2, 3, 4, 5, 6]
insert方法
#insert 在列表中插入元素,insert(索引值,插入值)
a = [1,2,3,4,5]
a.insert(2,'2')
print(a)
[1, 2, '2', 3, 4, 5]
extend方法
#extend 在列表末尾扩展一个列表,将两个列表合并为一个列表
a = [1,2,3,4,5]
b = ['6','7']
a.extend(b)
print(a)
[1, 2, 3, 4, 5, '6', '7']
del方法
#del方法可以通过索引删除列表中的一个元素
a = [1, 2, 3, 4, 5, '6', '7']
del(a[6])
print(a)
[1, 2, 3, 4, 5, '6']
#del 方法也可以删除整个列表,将列表从内存中删除
a = [1, 2, 3, 4, 5, '6', '7']
del(a)
print(a)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-14-77e52deb7ed6> in <module>
1 a = [1, 2, 3, 4, 5, '6', '7']
2 del(a)
----> 3 print(a)
NameError: name 'a' is not defined
pop方法
#pop方法:pop(索引值,若索引值为空,默认删除最后一个元素)
#下面是索引值非空
a = [1,1,2,2,3,4,5,'6','7']
a.pop(4)
print(a)
[1, 1, 2, 2, 4, 5, '6', '7']
#下面是索引值为空的情况
a = [1,1,2,2,3,4,5,'6','7']
a.pop()
print(a)
a.pop()
print(a)
a.pop()
print(a)
a.pop()
print(a)
[1, 1, 2, 2, 3, 4, 5, '6']
[1, 1, 2, 2, 3, 4, 5]
[1, 1, 2, 2, 3, 4]
[1, 1, 2, 2, 3]
通过pop方法可以看出list类似于堆栈的概念,先入后出,后入先出
remove方法
#remove 删除第一个指定值
a = [1,1,2,2,3,4,5,'6','7']
a.remove(2)
print(a)
[1, 1, 2, 3, 4, 5, '6', '7']
clear方法
#clear 方法 清空整个列表
a = [1,1,2,2,3,4,5,'6','7']
a.clear()
print(a)
[]
修改列表中的值就是通过索引的办法
a = [1, 1, 2, 3, 4, 5, '6', '7']
a[-1] = '0'
print(a)
[1, 1, 2, 3, 4, 5, '6', '0']
index方法
#index 返回查找到的第一个元素的下标,即索引值
a = [1, 1, 2, 3, 4, 5, '6', '7']
print(a.index(1))
0
count方法
#count方法 查看列表中某一元素的个数
a = [1, 1, 2, 3, 4, 5, '6', '7']
print(a.count(1))
2
sort方法
# 将列表中的元素按照升序排列 排序依据是同类型数据的ASC码
a = [8,6,3,0,2,1,4,5]
a.sort()
print(a)
[0, 1, 2, 3, 4, 5, 6, 8]
a = ['C','c','B','Z','O','z','a']
a.sort()
print(a)
['B', 'C', 'O', 'Z', 'a', 'c', 'z']
若要对列表进行逆序排序,可以使用下面的方法,将sort方法中的默认参数改为reverse = True
a = [8,6,3,0,2,1,4,5]
a.sort(reverse=True)
print(a)
[8, 6, 5, 4, 3, 2, 1, 0]
另外,对于列表的排序有自带的sorted函数,同样可以通过修改其默认参数reverse的方式来修改正序还是逆序。
a = [8,6,3,0,2,1,4,5]
print(sorted(a))
print(a)
[0, 1, 2, 3, 4, 5, 6, 8]
[8, 6, 3, 0, 2, 1, 4, 5]
此处要特别注意,使用sorted函数时,是系统重新复制了一份a来进行排序,但是原来的a并没有改变,还是乱序,正如上面的结果所示。
下面是使用sorted函数对列表逆序排序
a = [8,6,3,0,2,1,4,5]
print(sorted(a,reverse=True))
[8, 6, 5, 4, 3, 2, 1, 0]
sort方法与sorted函数中有一个很重要的参数key,决定排序的方式
#给key赋值len,则按照字符串的长度来排序 下面是升序排序
a = ['apple','pear','a','bcs']
a.sort(key=len )
print(a)
['a', 'bcs', 'pear', 'apple']
下面是使用sort方法的逆序排序
a = ['apple','pear','a','bcs']
a.sort(key=len,reverse=True)
print(a)
['apple', 'pear', 'bcs', 'a']
使用sorted函数也是一样的方法
a = ['apple','pear','a','bcs']
print(sorted(a,key=len))
print(sorted(a,key=len,reverse=True))
['a', 'bcs', 'pear', 'apple']
['apple', 'pear', 'bcs', 'a']
另外,经常使用key参数来忽略字符串大小写排序
a = ['c','a','e','B']
a.sort(key=str.upper)
print(a)
['a', 'B', 'c', 'e']
reverse方法
#recverse 方法 将列表中的元素反转
a = [1, 1, 2, 3, 4, 5, '6', '7']
a.reverse()
print(a)
['7', '6', 5, 4, 3, 2, 1, 1]
tuple的主要方法
因为tuple是不可变类型,所以它的主要方法很少
index方法
#index 返回查找到的第一个元素的下标,即索引值
a = (11,12,12,12)
print(a.index(12))
1
count方法
#count 返回所要查找的元素的个数
a = (11,12,12,12)
print(a.count(12))
3