python3 入门 (二) 列表的使用
来源:互联网 发布:康亿点验钞机升级软件 编辑:程序博客网 时间:2024/06/05 23:48
列表用于组织其它数值,即写在方括号之间、用逗号分隔开的数值列表。列表内的项目不必全是相同的类型。
列表的定义
student = ['Tom', 'Jack', 'Avril']
添加元素
- 将另一个列表直接赋值给该列表
- 使用"[头下标:尾下标]"j将另一个列表的指定元素值拷贝至该列表
- 使用"+"连接符,将元素添加至列表末尾
- 使用" * "乘号得到多个相同元素
- 使用append方法,将元素添加至列表末尾
- 使用extend方法,将元素添加至列表末尾
- 使用insert方法,将元素插入至指定位置
student = ['Tom', 'Jack', 'Avril']student *= 3print(student) #['Tom', 'Jack', 'Avril', 'Tom', 'Jack', 'Avril', 'Tom', 'Jack', 'Avril']# student中变量为name值的复制name = ['Jerry', 'Lucy']student = name[:]print(student) # ['Jerry', 'Lucy']name.clear()print(student) # ['Jerry', 'Lucy']# *得到的每一相同项指向同一内存地址name = ['Jerry']*3print(name) # ['Jerry', 'Jerry', 'Jerry']print(id(name[0])) # 54580088print(id(name[1])) # 54580088print(id(name[2])) # 54580088# name2与name1指向同一内存地址name1 = ['Jerry']name2 = name1print(name2) # ['Jerry']name1.clear()print(name2) # []# student中变量为name值的复制,与name不指向同一内存地址name = ['Jerry']student = name*3print(student) # ['Jerry', 'Jerry', 'Jerry']name.clear()print(student) # ['Jerry', 'Jerry', 'Jerry']# append添加后,student中的['Jerry']与name变量指向同一内存地址student = ['Tom', 'Jack', 'Avril']name = ['Jerry']student.append(name)print(student) # ['Tom', 'Jack', 'Avril', ['Jerry']]name.clear()print(student) # ['Tom', 'Jack', 'Avril', []]# 与name变量不指向同一内存地址student = ['Tom', 'Jack', 'Avril']name = 'Jerry'student.append(name)print(student) # ['Tom', 'Jack', 'Avril', 'Jerry']del nameprint(student) # ['Tom', 'Jack', 'Avril', 'Jerry']# 同上,insert插入后,student中的['Jerry']与name变量指向同一内存地址student = ['Tom', 'Jack', 'Avril']name = ['Jerry']student.insert(1, name)print(student) # ['Tom', ['Jerry'], 'Jack', 'Avril']name.clear()print(student) # ['Tom', [], 'Jack', 'Avril']# 与name变量不指向同一内存地址student = ['Tom', 'Jack', 'Avril']name = 'Jerry'student.insert(1, name)print(student) # ['Tom', 'Jerry', 'Jack', 'Avril']del nameprint(student) # ['Tom', 'Jerry', 'Jack', 'Avril']# extend添加后,student中的['Jerry']为name值的复制student = ['Tom', 'Jack', 'Avril']name = ['Jerry']student.extend(name)print(student) # ['Tom', 'Jack', 'Avril', 'Jerry']name.clear()print(student) # ['Tom', 'Jack', 'Avril', 'Jerry']student = ['Tom', 'Jack', 'Avril']name = 'Jerry'student.extend(name)print(student) # ['Tom', 'Jack', 'Avril', 'J', 'e', 'r', 'r', 'y']del nameprint(student) # ['Tom', 'Jack', 'Avril', 'J', 'e', 'r', 'r', 'y']
删除元素
- 使用remove方法删除指定值的元素
- 使用pop方法弹出栈顶元素,返回弹出元素
- 使用del关键字删除指定位置元素
- 使用clear方法清空列表元素,等于del a[:]
# 删除指定值的元素student = ['Tom', 'Jack', 'Avril']student.remove('Tom')print(student)# 弹出栈顶元素student = ['Tom', 'Jack', 'Avril']s = student.pop()print(s)print(student)# 删除指定位置元素student = ['Tom', 'Jack', 'Avril']del student[1]print(student)
其他操作:
list.index(x)返回列表中第一个值为 x 的元素的索引。如果没有匹配的元素就会返回一个错误list.count(x)返回 x 在列表中出现的次数list.sort()对列表中的元素进行排序。参数reverse默认为False,从小到大排序,设置为True则为从大到小排序list.reverse()倒排列表中的元素list.copy()返回列表的浅复制(变量值的复制),等于list[:]列表推导式
列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。
每个列表推导式都在 for 之后跟一个表达式,然后有零到多个 for 或 if 子句。返回结果是一个根据表达从其后的 for 和 if 上下文环境中生成出来的列表。如果希望表达式推导出一个元组,就必须使用括号。
将列表中每个数值乘三,获得一个新的列表:
>>> num = [1, 2, 3]>>> [3*n for n in num][3, 6, 9]
>>> num = [1, 2, 3]>>> [3*n for n in num if n > 2][9]>>> [3*n for n in numif n < 3][3,6]
其他用法:
>>> vec1 = [2, 4, 6]>>> vec2 = [4, 3, -9]>>> [x*y for x in vec1 for y in vec2][8, 6, -18, 16, 12, -36, 24, 18, -54]>>> [vec1[i]*vec2[i] for i in range(len(vec1))][8, 12, -54]
用列表推导式实现矩阵转置:
# 矩阵转置matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]# 方法一newMatrix = [[row[i] for row in matrix] for i in range(len(matrix[0]))]print(newMatrix)# 方法二newMatrix = []for i in range(len(matrix[0])): newMatrix.append([row[i] for row in matrix])print(newMatrix)# 方法三newMatrix = []for i in range(len(matrix[0])): newRow = [] for oldRow in matrix: newRow.append(oldRow[i]) newMatrix.append(newRow)print(newMatrix)
博客园博客:欠扁的小篮子
1 0
- python3 入门 (二) 列表的使用
- Python3 入门(二)
- python3 爬虫入门(二)requests库基本使用
- Python3之列表list使用
- Python3 快速入门(二)
- python3入门与进阶(二)
- python3入门之列表和元组
- python3 tkinter的入门
- Python3.X的list列表
- Android入门列表框(ListView)的使用
- Redis入门(二)列表List
- python3 列表
- Python3列表
- Python3 列表
- Python3 列表
- python3列表
- python3之python的核心数据类型(列表)
- Python3,列表的创建和读取
- 剑指offer-求1+2+3+...+n
- eclipse导出jar,精简jre,生成exe
- HDU 5463
- ksh 运算符
- shell echo 显示带颜色字体
- python3 入门 (二) 列表的使用
- 导航栏控制器
- 《Effective JavaScript》- 1.2 理解JavaScript的浮点数
- 测试工程师笔试题
- Object-c基础语法
- main函数的两个参数浅析
- IE版本的语句和placeholder——疑问1
- cf 580 A
- HDU 1054 Strategic Game(简单树形DP)