Python基础汇总004_列表list使用
1.列表list拼接成字符串
Python join() 方法用于将序列(列表是序列的一种)中的元素以指定的字符连接生成一个新的字符串。
item1 = ["lowman", "isbusy"] item2 = ",".join(item1) # 根据实际需要使用相应的分隔符连接列表元素,如 , : ; 或者空字符串 print(item2) print(type(item2))
注意: 1. 列表里面的元素必须全是字符串才可以使用join()进行拼接
2. 返回的是一个字符串
控制台输出:
2.访问/获取列表中的值
(1)使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:
list1 = ['Google', 'Runoob', 1997, 2000] list2 = [1, 2, 3, 4, 5, 6, 7] print("list1[0]: ", list1[0]) print("list2[1:5]: ", list2[1:5])
控制台输出:
(2)列表获取元素最后一个值的方法
对于序列结构数据来说,索引和步长都具有正负两个值,分别表示左右两个方向取值。索引的正方向从左往右取值,起始位置为0;负方向从右往左取值,起始位置为-1
list1 = [1, 2, 3, 4, 5] # 获取list1的最后一个元素,注意第二种方法的使用 print(list1[len(list1)-1]) print(list1[-1])
控制台输出:
3.修改或更新列表中的值
list = ['Google', 'Runoob', 1997, 2000] print("第三个元素为 : ", list[2]) list[2] = 2001 print("更新后的第三个元素为 : ", list[2])
控制台输出:
4.列表list添加新的元素
append() 方法用于在列表末尾添加新的对象。
list1 = ['Google', 'Runoob', 'Taobao'] list1.append('Baidu') print ("更新后的列表 : ", list1)
控制台输出:
5.统计列表中某个元素出现的次数
count() 方法用于统计某个元素在列表中出现的次数。
aList = [123, 'Google', 'Runoob', 'Taobao', 123] print("123 元素个数 : ", aList.count(123)) print("Runoob 元素个数 : ", aList.count('Runoob'))
控制台输出:
6.查询元素的下标
index() 函数用于从列表中找出某个值第一个匹配项的索引位置。
list1 = ['Google', 'Runoob', 'Taobao'] print ('Runoob 索引值为', list1.index('Runoob')) print ('Taobao 索引值为', list1.index('Taobao'))
控制台输出:
7.将指定对象插入列表的指定位置
insert() 函数用于将指定对象插入列表的指定位置。
语法:
list.insert(index, obj)
参数说明:
- index -- 对象obj需要插入的索引位置。
- obj -- 要插入列表中的对象。
list1 = ['Google', 'Runoob', 'Taobao'] list1.insert(1, 'Baidu') print ('列表插入元素后为 : ', list1)
控制台输出:
8.删除指定的元素
remove() 函数用于移除列表中某个值的第一个匹配项。
list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.remove('Taobao') print ("列表现在为 : ", list1) list1.remove('Baidu') print ("列表现在为 : ", list1)
控制台输出:
9.列表合并拼接
extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
list1 = ['Google', 'Runoob', 'Taobao'] list2=list(range(5)) # 创建 0-4 的列表 list1.extend(list2) # 扩展列表 print ("扩展后的列表:", list1)
控制台输出:
10.判断元素是否在列表中存在
有两种方法:一个是循环,一个是用关键字in
test_list = [1, 6, 3, 5, 3, 4] print("查看 4 是否在列表中 ( 使用循环 ) : ") for i in test_list: if (i == 4): print("存在") print("查看 4 是否在列表中 ( 使用 in 关键字 ) : ") if (4 in test_list): print("存在")
控制台输出:
11.Python列表切片
假设a
是一个一维的列表,先给出一个基本的公式:a[start:end:step]
参数说明:
- start:表示是第一个元素对象,正索引位置默认为0;负索引位置默认为 -len(consequence)
- end:表示是最后一个元素对象,正索引位置默认为 len(consequence)-1;负索引位置默认为 -1。
- step:表示取值的步长,默认为1,步长值不能为0。
注意:对于序列结构数据来说,索引和步长都具有正负两个值,分别表示左右两个方向取值。索引的正方向从左往右取值,起始位置为0;负方向从右往左取值,起始位置为-1。因此任意一个序列结构数据的索引范围为 -len(consequence) 到 len(consequence)-1 范围内的连续整数。
总结:切片 即list取值的一种方式, 取值是顾头不顾尾,注:切片的步长默认为1,不可为0
a = [1, 2, 3, 4, 5, 6] print(a) print("a[0:3] ",a[0:3]) # [1, 2, 3] print("a[:3] ",a[:3]) # [1, 2, 3] print("a[1:5] ",a[1:5]) # [2, 3, 4, 5] print("a[1:6] ",a[1:6]) # [2, 3, 4, 5, 6] 由于切片的性质顾头不顾尾,所以要取的最后一个值,就必须是6 print("a[1:] ",a[1:]) # [2, 3, 4, 5, 6] print("a[::2] ",a[::2]) # [1, 3, 5]
控制台输出:
12.将一个列表中的元素打乱
random.shuffle(a):用于将一个列表中的元素打乱
import random a =[10,20,30,40,50,60] print(a) #列表未打乱 random.shuffle(a) print(a) #列表第一次打乱 random.shuffle(a) print(a) #列表第2次打乱
控制台输出:
13 enumerate用法总结
enumerate()说明
- enumerate()是python的内置函数
- enumerate在字典上是枚举、列举的意思
- 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
- enumerate多用于在for循环中得到计数
典型案例:
如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:
list1 = ["这", "是", "一个", "测试"] for i in range (len(list1)): print(i, list1[i])
上述方法可用emumerate简化:
list1 = ["这", "是", "一个", "测试"] for index, item in enumerate(list1): print(index, item)
控制台输出:
参考文献:
https://www.runoob.com/python3/python3-list.html
https://www.cnblogs.com/wmm007/p/7596997.html