快速了解Python list
list在python中是使用非常频频繁的数据类型,也就是python中的“列表”,在其他编程语言中通常叫做“数组”。

Python lsit(列表)的作用和定方法
Python list专门用于存储一串信息,使用[]定义,数据之间用英文逗号“,”分隔。例如下面定义一个name_list列表:
name_list = ["张三", "李四", "王五", "赵六"]
列表索引
列表索引就是数据在列表中的位置编号,索引又被成为下标。需要注意的是列表索引的取值范围是从0开始的,如果从列表取值时,超出索引范围程序会报错。
name_list = ["张三", "李四", "王五", "赵六"]
例如上面定义的name_list中“张三”的索引值为“0”,“赵六”的索引值为“3”。
 
如何从list中取值
基本语法为:
列表名[索引值]
例如我们要从name_list中取“张三”这个值,然后使用print函数打印输出,代码如下:
name_list = ["张三", "李四", "王五", "赵六"]
 print(name_list[0])  
python list中的常用操作
 
在ipython中顶一个列表,例如name_lsit = [],然后输入name_list. 按下TAB键,ipython会提示列表能够使用的方法,如下图所示: 
 

 
列表方法汇总:
| 号 | 分类 | 关键词/函数/方法 | 说明 | 
| 1 | 增加 | 列表.insert(索引,数据) | 在指定位置插入数据 | 
| 列表.append(数据) | 在末尾追加数据 | 
| 列表.extend(列表2) | 将列表2的数据追加到列表 | 
| 2 | 修改 | 列表[索引] = 数据 | 修改指定索引的数据 | 
| 3 | 删除 | del 列表[索引] | 删除指定索引的数据 | 
| 列表.remove[数据] | 删除第一个出现的指定数据 | 
| 列表.pop | 删除末尾数据 | 
| 列表.pop(索引) | 删除指定索引数据 | 
| 列表.clear | 清空列表 | 
| 4 | 统计 | len(列表) | 列表长度 | 
| 列表.count(数据) | 数据所在列表中出现的次数 | 
| 5 | 排序 | 列表.sort() | 升序排序 | 
| 列表.sort(reverse=True) | 降序排序 | 
| 列表.reverse() | 逆序、反转 | 
下面我们通过一下代码来演示list方法
 name_list = ["zhangsan", "lisi", "wangwu", "zhaoliu"]
 
 # 1. 取值和取索引,索引从0开始
 print(name_list[2])
 # 运行结果为:"wangwu"
 
 # 知道数据,想确定数据在表中位置,使用index方法。需要注意:如果传递的参数不在列表中程序会报错
 print(name_list.index("zhangsan"))
 # 运行结果为:0
 
 # 2. 修改
 # 将“zhangsan”修改为“张三”
 name_list[0] = "张三"
 print(name_list)
 # 运行结果为:["张三", "lisi", "wangwu", "zhaoliu"]
 
 # 3. 增加
 # 3.1 使用append在列表末尾添加数据,注意一次只能添加一个数据
 name_list.append("zhangsan")
 print(name_list)
 # 运行结果为:["张三", "lisi", "wangwu", "zhaoliu", "zhangsan"]
 
 # 3.2 insert 在指定位置添加数据
 name_list.insert(1, "小姐姐")
 print(name_list)
 # 运行结果为:["张三", "小姐姐", "lisi", "wangwu", "zhaoliu", "zhangsan"]
 
 # 3.3 在演示extend 之前,我们先添加一个tamp_list列表
 tamp_list = ["小明", "李华"]
 # extend会在当前列表末尾追加另一个列表的数据
 name_list.extend(tamp_list)
 print(name_list)
 # 运行结果为:["张三", "小姐姐", "lisi", "wangwu", "zhaoliu", "zhangsan", "小明", "李华"]
 
 # 4. 删除
 # 4.1 remove方法可以从列表中删除指定数据
 name_list.remove("小姐姐")
 print(name_list)
 # 运行结果为:["张三", "lisi", "wangwu", "zhaoliu", "zhangsan", "小明", "李华"]
 
 # 4.2 pop方法在默认情况下能把列表中最后一条数据删除
 name_list.pop()
 print(name_list)
 # 运行结果为:["张三", "lisi", "wangwu", "zhaoliu", "zhangsan", "小明"]
 
 # 4.3 pop方法可以删除指定索引的数据
 name_list.pop(0)
 print(name_list)
 # 运行结果为:["lisi", "wangwu", "zhaoliu", "zhangsan", "小明"]
 
 # 4.4 使用del删除列表中指定数据
 del name_list[0]
 print(name_list)
 # 运行结果为:["wangwu", "zhaoliu", "zhangsan", "小明"]
 
 # 注意del 关键字本质上是用来将一个变量从内存中删除,在日常开发中,要从列表删除数据,建议使用列表提供的方法。
 
 # 4.5 clear
 name_list.clear()
 print(name_list)
 # 运行结果为:[]
 
 # 我们重新定义一个list
 subject_list = ["java", "python", "php", "C++", "python人工智能", "python",]
 # 5.通过len函数统计name_list中元素的数量
 list_len = len(subject_list)
 print(list_len)
 # 运行结果为:7
 
 # 6.通过count函数统计元素出现次数,注意统计时不会拆分元素统计
 # 例如统计subject_list中“python”元素几个,答案是2个,“python人工智能”不算
 count = subject_list.count("python")
 print(count)
 # 运行结果为:2
 
 # 7. 列表排序
 # 上面已经有一个subject_list列表
 # 未了方便演示我们再定义一个number_list列表
 number = [10, 12, 3, 6, 1, 7, 18]
 # 7.1 升序排序:通过.sort()方法实现
 subject_list.sort()
 number.sort()
 print(subject_list)
 print(number)
 # 运行结果为:
 # ['C++', 'java', 'php', 'python', 'python', 'python人工智能']
 # [1, 3, 6, 7, 10, 12, 18]
 
 # 7.2 降序排序:.sort(revrse=Ture)实现
 subject_list.sort(reverse=True)
 number.sort(reverse=True)
 print(subject_list)
 print(number)
 # 运行结果为:
 # ['python人工智能', 'python', 'python', 'php', 'java', 'C++']
 # [18, 12, 10, 7, 6, 3, 1]
 
 # 7.3 逆序排序
# 重新定义一个列表number2,用于演示逆序排序
number2 = [3, 1, 4, 1, 5, 9, 2, 6]
number2.reverse()
print(number2)
# 运行结果为 [6, 2, 9, 5, 1, 4, 1, 3]
 
列表循环遍历
遍历就是从头到尾依次从列表中获取数据,也就是迭代遍历,使用for就能实现迭代遍历,顺序的从列表中一次回去数据,每一次循环过程中,数据都会保存在my_name这个变量中,在循环体内可以访问到当前这次回去到的数据。
下面我们通过实例演示,for循环遍历:
 name_list = ["张三", "李四", "王五"]
 for name in name_list:
     print(name)
    
运行结果为:
张三
李四
王五
 
如果我们使用while循环遍历怎做?我们通过实例演示:
 name_list = ["张三", "李四", "王五"]
 length = len(name_list)
 i = 0
 while i < length:
         print(name_list[i])
         i += 1
运行结果为:
张三
李四
王五
 
list应用场景
在开发中,列表(list)存储相同类型的数据,通过迭代遍历,在循环体内部,针对列表中的每一项元素,执行相同的操作。
以上我们介绍了python list的使用方法,希望对你有所帮助,如果想系统学习python了解黑马程序员python+人工智能课程。
猜你喜欢:
Python元组介绍:10分钟掌握元组用法
python基础视频教程下载