python3 列表 list

1.更新列表

1、添加列表元素 list.append()

append()方法语法:
list.append(obj)
obj -- 添加到列表末尾的对象。

list1 = ['python','java','php','c#']
list1.append('c++')
print(list1)

--------------------------------------------
['python', 'java', 'php' , 'c#' ,'c++']

2、删除列表元素 del语句

list1 = ['python', 'java', 'php' , 'c#' ,'c++']
del list1[2]
print(list1)

-------------------------------------------------
['python', 'java', 'c#' ,'c++']

2.列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:

Python 表达式 结果 描述
len([1, 2, 3]) 3 长度
[1, 2, 3] + [4, 5, 6] [1,2,3,4,5,6] 组合
['Hi!'] * 4 ['Hi!','Hi!','Hi!','Hi!'] 重复
3 in [1, 2, 3] True 元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ") 1,2,3 迭代

3.嵌套列表

list1 = [1,2,3]
list2 = [4,5,6]
list_s = [list1 , list2]
print(list_s)
print(list_s[0])
print(list_s[0][1])

--------------------------------
[[1,2,3],[4,5,6]]
[1,2,3]
2

4.列表函数与方法

1、列表函数

1.len(list) 列表元素个数

描述:len()方法返回列表元素个数
语法:len(list)
参数:list -- 要计算元素个数的列表。
返回值:返回元素个数

list1 = [1,2,3]
list2 = list(range(5))  # 定义一个0-4的列表
print(len(list1))
print(len(list2))
---------------------------------------

3
5
2.max(list) 返回列表元素最大值

描述:max()方法返回列表元素最大值
语法:max(list)
参数:list---要返回最大值的列表
返回值:返回列表中的最大值

list1 = [100, 200, 300]
list2 = ['python' , 'java' , 'C#']
print(max(list1))
print(max(list2))

------------------------------------------
300
python
3.min(list) 返回列表元素最小值

描述:min()方法返回列表元素最小值
语法:min(list)
参数:list---要返回最大值的列表
返回值:返回列表中的最大值

list1 = [100, 200, 300]
list2 = ['python' , 'java' , 'C#']
print(min(list1))
print(min(list2))
---------------------------------

100
C#
4.list(seq) 将元组或字符串转换为列表

描述:list()方法将元组或字符串转换为列表
语法:list(seq)
参数:seq---要转换成列表的元组或字符串
返回值:返回列表

aTuple = (123 , 'python' , 'java')
aStr = 'learn python'
print(list(aTuple))
print(list(aStr))
--------------------------------------

[123, 'python', 'java']
['l', 'e', 'a', 'r', 'n', ' ', 'p', 'y', 't', 'h', 'o', 'n']

2、列表方法

1.list.append(obj) 在列表末尾添加新的对象

描述:
语法:list.append(obj)
参数:obj -- 添加到列表末尾的对象
返回值:该方法无返回值,但会修改原列表

list1 = ['python' , 'java' , 'C#']
list1.append('C++')
print(list1)
---------------------------------------

['python' , 'java' , 'C#' , 'C++']
2.list.count(obj) 统计某个元素在列表中出现的次数

描述:
语法:list.count(obj)
参数: obj -- 列表中统计的对象
返回值:返回统计对象在列表中出现的次数

list1 = ['python' , 'java' , 'C#' , 'python' , 'PHP' , 'python']
print(list1.count('python')
------------------------------------------------

3
3.list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

描述:
语法:list.extend(seq)
参数:seq -- 元素列表,可以是列表、元组、集合、字典,若为字典,仅会将键(key)作为元素依次添加至列表末尾
返回值:无返回值,修改原列表

list1 = ['python' , 'java' , 'C#']
list2 = list(range(5))
aTuple = tuple(range(5))
aSet = set(range(5))
aDict = {'p':'python','j':'java','c':'C++'}

list1.extend(list2)
print(list1)
list1.extend(aTuple)
print(list1)
list1.extend(aSet)
print(list1)
list1.extend(aDict)
print(list1)
-------------------------------------------

['python', 'java', 'C#', 0, 1, 2, 3, 4]
['python', 'java', 'C#', 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
['python', 'java', 'C#', 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
['python', 'java', 'C#', 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 'p', 'j', 'c']

4.list.index(obj) 从列表中找出某个值第一个匹配项的索引位置

描述:index()函数用于从列表中找出某个值第一个匹配项的索引位置
语法:list.index(x[, start[, end]])
参数:x -- 查找的对象
start --可选,查找的起始位置
end -- 可选,查找的结束位置
返回值:返回查找对象的索引位置,如果没有则抛出异常

list1 = ['python' , 'java' , 'C#' , 'C++' , 'python']
print(list1.index('python'))
print(list1.index('java'))
print(list1.index('python', 1))
print(list1.index('python',0,3))
-------------------------------------

0
1
4
0
5.list.insert(index, obj) 将对象插入列表

描述:insert()函数用于将置顶对象插入列表的指定位置
语法:list.insert(index, obj)
参数:index:对象obj要插入的索引位置
obj:要插入列表的对象
返回值:无返回值,但会在列表指定位置插入对象

list1 = ['python' , 'java' , 'C#' , 'C++']
list1.insert(2,'Php')
print(list1)
----------------------------------------------

['python', 'java', 'Php', 'C#', 'C++']
6.list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

描述:pop()函数用于移除列表中的一个元素,默认最后一个元素,并且返回该元素的值
语法:list.pop([index=-1])
参数:index -- 要移除列表元素的索引值,不能超过列表总长度,默认值为-1,删除最后一个列表值
返回值:返回列表中移除的元素对象

list1 = ['python' , 'java' , 'C#' , 'C++']
print(list1.pop())
print(list1.pop(2))

------------------------------------------------
C++
C#
7.list.remove(obj) 移除列表中某个值的第一个匹配项

描述:remove()函数用于移除列表中某个值的第一个匹配项
语法:list.remove(obj)
参数:obj -- 列表中要移除的对象
返回值:无返回值,但会移除列表中某个值的第一个匹配项

list1 = ['python' , 'java' , 'C#' , 'C++', 'php' , 'java']
list1.remove('java')
print(list1)
-----------------------------------------------------------------

['python', 'C#', 'C++', 'php', 'java']

8.list.reverse() 反向列表中元素

描述:reverse()函数用于反向列表中的元素
语法:list.reverse()
参数:None
返回值:无返回值,反向列表元素

list1 = ['python' , 'java' , 'C#' , 'C++']
list1.reverse()
print(list1)
-------------------------------
['C++', 'C#', 'java', 'python']
9.list.sort( key=None, reverse=False) 对原列表进行排序

描述:sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数
语法:list.sort( key=None, reverse=False)
参数:key
reverse -- reverse=True降序,reverse=False升序(默认)
返回值:无返回值,对列表进行排序

list1 = ['e' , 'u' , 'a', 'o' ,'i' ]

print(list1.sort())
print(list1.sort(reverse=True))
-------------------------------

['a' , 'e' , 'i' , 'o' , 'u']
['u' , 'o' , 'i' , 'e' , 'a']
# 获取列表的第二个元素
def takesecond(elem):
    return elem[1]

list1 = ['python' , 'java' , 'php' , 'html']
list1.sort(key=takesecond, reverse=True) #根据每个对象的第二个元素进行排序(降序),在这里就是对'y','a','h','t'进行排序
print(list1)
-------------------------------------------------

['python' , 'html' , 'php' , 'java']    
10.list.clear() 清空列表

描述:clear()函数用于清空列表,类似于 del list[:]
语法:list.clear()
参数:None
返回值:无返回值,清空列表

list1 = ['python' , 'java' , 'C#' , 'C++']
list1.clear()  # 等价于 del list1[:]
print(list1)
----------------------------------

[]
11.list.copy() 复制列表

描述:复制列表
语法:list.copy()
参数:None
返回值:

list1 = ['python' , 'java' , 'C#' , 'C++']
list2 = list1.copy()
print(list2)
--------------------------------------------

['python' , 'java' , 'C#' , 'C++']

posted @ 2021-08-28 18:26  YLu  阅读(119)  评论(0)    收藏  举报