前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础之列表

Python基础之列表

作者头像
py3study
发布2020-01-15 23:03:52
5410
发布2020-01-15 23:03:52
举报
文章被收录于专栏:python3python3

列表初识

列表的作用和定义

列表是python中使用最频繁的数据类型,在其他语言中一般称为数组; 用一个变量存储多个数据; 列表存储多个数据时,在中括号之间用逗号分隔多个数据;

语法定义:

代码语言:javascript
复制
变量名 = [数据1, 数据2, 数据3,...]
eg:
name_list = ["zhangsan", "lisi", "wangwu"]

列表存储数据的方式和取数据

  • 列表按顺序存储数据,从0开始,逐渐递增的存,你可以理解为琅琊榜中琅琊阁的信息柜,一个一个存过去,并且给柜子从0开始编号,每次+1;
  • 取数据的时候只需要按照柜子编号取即可;
  • 列表的索引从0开始,索引就是数据在列表中的数据编号,索引又可以被称为下标。从列表中取值时,如果超出索引范围,就会报错。

定义和取数据示例如下(在交互式下):

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
name_list
['zhangsan', 'lisi', 'wangwu']
name_list[0]
'zhangsan'
name_list[1]
'lisi'

列表方法

列表方法查看

在ipython3交互式下,先定义一个空列表;再 空列表. 后面敲一下tab键,即可显示列表常用方法;例如:

代码语言:javascript
复制
In [1]: name_list = []

In [2]: name_list.
name_list.append   name_list.count    name_list.insert   name_list.reverse
name_list.clear    name_list.extend   name_list.pop      name_list.sort
name_list.copy     name_list.index    name_list.remove   

In [2]: name_list.

由此可见,列表方法有如下这些:

代码语言:javascript
复制
name_list.append   name_list.count    name_list.insert   name_list.reverse
name_list.clear    name_list.extend   name_list.pop      name_list.sort
name_list.copy     name_list.index    name_list.remove 

列表常用方法统计

序号

分类

关键字/函数/方法

说明

1

增加

list.insert(index, data)

在指定位置插入数据

list.append(data)

在末尾追加数据

list.extend(list2)

将列表2的数据追加到列表

2

修改

list[index]=data

修改指定索引的数据

3

删除

del list[index]

删除指定索引的数据

list.remove(data)

删除第一个出现的指定数据

list.pop()

删除末尾数据

list.pop(index)

删除指定索引数据

list.clear()

清空列表

4

统计

len(list)

测量列表长度

list.count(data)

检查数据在列表中出现的次数

5

排序

list.sort()

升序排序

list.sort(reverse=True)

降序排序

list.reverse()

逆序,反转

列表取值和取索引(index)

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]

# 列表取值,已知 内容在列表的位置(索引),根据索引来取值;注意,如果索引值超过范围的话,就会报错
print(name_list[2])

# 列表取索引,已知 内容,根据内容来确定内容在列表的位置;
# 注意,如果查的内容不是列表中的内容的话,就会报错
print(name_list.index("lisi"))

列表 修改指定索引的数据

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# 修改指定索引的数据;注意,如果索引超过了范围,就会报错,而不是在末尾新建一个数据,那是append该做的事
name_list[2] = "wangliu"
print(name_list)

列表增加(append,insert,extend)

1.append

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# 3.1 append 在列表末尾追加
name_list.append("liudi")
print(name_list)  # ['zhangsan', 'lisi', 'wangwu', 'liudi']

2.insert

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
#3.2 insert 向列表指定索引位置添加数据,注意,不是进行替换,只是挤进去而已
print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.insert(1, "xiaoming")
print(name_list)  # ['zhangsan', 'xiaoming', 'lisi', 'wangwu']

3.extend

代码语言:javascript
复制
# 3.3 extend 向列表末尾分散的追加另一个列表的所有内容,注意是分散的追加
hero_list = ["hanxin", "zhangfei", "zhuge"]
print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.extend(hero_list)
print(name_list)  # ['zhangsan', 'lisi', 'wangwu', 'hanxin', 'zhangfei', 'zhuge']

列表删除数据(remove,pop,clear)

1.remove

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# 4.1 remove 删除列表中指定的数据,注意,输入的要删除的数据必须在列表内,否则会报错
# 如果列表中存在两个相同的元素时,remove方法会删除第一个出现的元素
print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.remove("zhangsan")
print(name_list)  # ['lisi', 'wangwu']

2.pop

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# 4.2 pop 默认删除列表最后一个数据,也可以删除指定索引的数据,指定索引时,不能超过范围,否则报错
print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.pop()
print(name_list)  # ['zhangsan', 'lisi']

name_list.pop(2)
print(name_list)  # ['lisi']

3.clear

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# 4.3 clear 清空列表
print(name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.clear()
print(name_list)  # []

del关键字删除列表元素和del注意事项

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# 使用del关键字可以删除列表中的元素;但在日常开发中,如果要删除列表中的元素,建议使用列表提供方法。
del name_list[1]
print(name_list)  # ['zhangsan', 'wangwu']

# del关键字的本质是将变量从内存中删除
name = "xiaoming"
print(name)
del name
# print(name)  # del将变量删除后,变量就无效了,不能再被调动,否则报错,所以本行必须被删除

列表统计(len,count)

1.len

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]

# len 统计列表中元素的个数
list_num1 = len(name_list)
print("列表中元素的个数为:", list_num1)
name_list.append("zhangsan")
list_num2 = len(name_list)
print("列表中元素的个数为:", list_num2)

2.count

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
# count 统计列表中某一元素出现的个数
times = name_list.count("zhangsan")
print("列表中zhangsan出现的次数为:", times)

列表的升降序和逆序(反转) (sort,reverse)

升序sort
代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
num_list = [2, 4, 1, 3, 8]

name_list.sort()
print("升序后姓名列表:", name_list)  # ['lisi', 'wangwu', 'zhangsan']
print("升序前数字列表:", num_list)  # [2, 4, 1, 3, 8]
num_list.sort()
print("升序后数字列表:", num_list)  # [1, 2, 3, 4, 8]
降序sort
代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
num_list = [2, 4, 1, 3, 8]

print("降序前姓名列表:", name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.sort(reverse=True)
print("降序后姓名列表:", name_list)  # ['zhangsan', 'wangwu', 'lisi']
print("降序前数字列表:", num_list)  # [2, 4, 1, 3, 8]
num_list.sort(reverse=True)
print("降序后数字列表:", num_list)  # [8, 4, 3, 2, 1]
逆序reverse
代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
num_list = [2, 4, 1, 3, 8]

print("逆序前姓名列表:", name_list)  # ['zhangsan', 'lisi', 'wangwu']
name_list.reverse()
print("逆序后姓名列表:", name_list)  # ['wangwu', 'lisi', 'zhangsan']
print("逆序前数字列表:", num_list)  # [2, 4, 1, 3, 8]
num_list.reverse()
print("逆序后数字列表:", num_list)  # [8, 3, 1, 4, 2]

应注意,无论是升降序还是逆序,都是直接对原列表做修改的,而不是临时修改

列表其他扩展

关键字,函数和方法的区别

关键字

关键字是Python内置的,具有特殊意义的标识符; 关键字比如del,直接使用,后面无需括号。

代码语言:javascript
复制
import keyword

print(keyword.kwlist)

"""
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue','def', 'del',
 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 
 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
 """
函数

函数封装了独立功能,可以直接调用; 函数的调用:

代码语言:javascript
复制
# 函数名(参数)
例如:print("hello world")

方法

方法和函数类似,封装了独立功能; 与函数不同的是,方法需要通过对象调用,表示针对这个对象要做的操作。 方法的使用:

代码语言:javascript
复制
# 对象.方法名()
例如:namelist.pop()

循环遍历

列表遍历就是 从头到尾 依次从列表中取数据; 每次循环都将 从列表中顺序的读取出来的数据放在临时变量中,然后执行相同的操作。 使用for进行迭代遍历。

遍历语法格式:

代码语言:javascript
复制
for 临时变量 in 列表:
    针对临时变量进行的操作

遍历示例:

代码语言:javascript
复制
name_list = ["zhangsan", "lisi", "wangwu"]
for i in name_list:
    print("本次读取的名字为:", i)

列表的应用场景

虽然python的列表可以存储不同的数据类型,比如同时存储字符串和数字;但在实际开发中,通常都是存储的同一类数据类型,然后通过迭代遍历列表中的数据,做相同的操作。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 列表初识
    • 列表的作用和定义
      • 列表存储数据的方式和取数据
      • 列表方法
        • 列表方法查看
          • 列表常用方法统计
            • 列表取值和取索引(index)
              • 列表 修改指定索引的数据
                • 列表增加(append,insert,extend)
                  • 列表删除数据(remove,pop,clear)
                    • del关键字删除列表元素和del注意事项
                      • 列表统计(len,count)
                        • 列表的升降序和逆序(反转) (sort,reverse)
                          • 升序sort
                          • 降序sort
                          • 逆序reverse
                      • 列表其他扩展
                        • 关键字,函数和方法的区别
                          • 关键字
                          • 函数
                        • 方法
                          • 循环遍历
                            • 列表的应用场景
                            领券
                            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档