本文主要介绍了Python中列表(List)的详解操作方法,包含创建、访问、删除、排序、切片,乘等操作方法
1.创建列表:把逗号分隔的不同的数据项使用方括号括起来
list = [1,2,3,‘James’,‘Paul’]
list = [i for i in range(10)]
2.添加元素:
list.append() :尾部新增元素
list = [1,2,3]
list.append(5)
list
[1, 2, 3, 5]
插入指定数据
my_list="wo shi mi"
my_list.insert(index,"插入内容")
my_list.insert(1,"Hello")
print(my_list)
Hello wo shi mi
list.extend():扩展列表 list.extend(tablelist),左右与 + 类似
list1 = [1,2,3]
list2 = ['a','b']
list1.extend(list2)
list1
[1, 2, 3, 'a', 'b']
#区别于append
list1.append(list2)
list1
[1, 2, 3, ['a', 'b']]
2.删除元素:
list.remove(object):参数object 如有重复元素,只会删除最靠前的
list = [1,2,'a','b','a']
list.remove('a')
list
[1, 2, 'b', 'a'] # 第一个‘a’被删除,后面的未被移除
list.pop(index): 默认为删除最后一个元素,index – 可选参数,要移除列表元素的对应索引值,
list = [1,2,3,4,5]
list.pop() # 默认删除最后一个元素
5
list
[1, 2, 3, 4]
list.pop(1) # 删除指定索引(index=1)的元素
2
list
[1, 3, 4]
del list[index] :可以删除整个列表或指定元素或者列表切片,list删除后无法访问。
list
[1, 3, 4]
del list[1]
list
[1, 4]
del list
list
<class 'list'>
3.判断指定数据是否在列表中
my_list=["大家好","葡萄","香蕉","桃子"]
result="西瓜" in my_list
print(result)
False
my_list=["大家好","葡萄","香蕉","桃子"]
result="西瓜" not in my_list
print(result)
True
4. 查找指定数据的下标
my_list=["大家好","葡萄","香蕉","桃子"]
index=my_list.index("葡萄" )
print(index)
1
#未找到会抛出错误
4. 查找指定数据的总数
my_list=["大家好","葡萄","香蕉","桃子"]
count=my_list.count("葡萄")
print(count)
1
5.排序和反转:
list.reverse() :列表元素反转
list = [1,2,3,4,5]
list.reverse()
list [5, 4, 3, 2, 1]
list.sort():排序,sort有三个默认参数 cmp=None,key=None,reverse=False 因此可以制定排序参数
a = [1,2,5,6,3]
a.sort()
a
[1, 2, 3, 5, 6]
python3X中,不能将数字和字符一起排序,会出现此报错
a = [5,1,'z','h']
a.sort()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'str' and 'int'
reverse=False,升序排序(默认);
reverse=True,降序排序
>>> a = [1,5,9,10,3]
>>> a.sort()
>>> a
[1, 3, 5, 9, 10]
>>> a.sort(reverse=True)
>>> a
[10, 9, 5, 3, 1]
sorted():sorted(list)
A = [1,8,2,5]
sorted(A)
[1, 2, 5, 8]
sorted(A,reverse=True)
[8, 5, 2, 1]
A
[1, 8, 2, 5]
注:
sorted()函数与sort()方法有一点不同,sort()会在原list的上重新排列并保存,而sorted()不会改变原列表的顺序,只是生成新的排序列表
6.列表切片:
列表的位置,或索引,第一个索引是0,第二个索引是1,反向从-1开始
L = [‘spam’, ‘Spam’, ‘SPAM!’, ‘Sam’, ‘Paul’,‘Kate’]
操作:
Python表达式 结果 描述
L[2] ‘SPAM!’ 读取列表中第三个元素
L[-2] ‘Paul’ 读取列表中倒数第二个元素
L[1:] [‘Spam’, ‘SPAM!’, ‘Sam’, ‘Paul’,‘Kate’] 从第二个元素开始截取列表
L[1:4:2] [‘Spam’, ‘Sam’] 从第二个元素开始到底到第五个元素,每两个元素选取一个