2019 年第 27 篇,总 51 篇文章 本文大约 1700 字,阅读大约需要 6 分钟 前面分享的六道题目如下: Python-100 | 练习题 01 & 列表推导式 Python-100 练习题...02 Python-100 练习题 03 完全平方数 Python-100 练习题 04 判断天数 Python-100例(5-6) 排序&斐波那契数列 这次是分享 Python-100 例的第 7-...8 题,分别是复制列表和打印乘法口诀,这两道题目都比较简单。...---- Example-7 复制列表 题目:将一个列表的数据复制到另一个列表 思路 直接采用切片操作,即 [:] 代码实现 这道题目比较简单,代码如下: print('original list: {...Example-8 乘法口诀 题目:输出 9*9 乘法口诀 思路 最简单就是通过两层的 for 循环,两个参数,一个控制行,一个控制列,然后注意每行输出个数,即每层循环的起始和结束条件。
1 np.dot, * 点乘,也即矩阵乘法,和线性代数中的矩阵乘法相同;*和dot的功能相同。
(1)算术乘法,整数、实数、复数、高精度实数之间的乘法。 ? (2)列表、元组、字符串这几种类型的对象与整数之间的乘法,表示对列表、元组或字符串进行重复,返回新列表、元组、字符串。 ?...需要特别注意的是,列表、元组、字符串与整数相乘,是对其中的元素的引用进行复用,如果元组或列表中的元素是列表、字典、集合这样的可变对象,得到的新对象与原对象之间会互相干扰。 ? ? ?...(4)numpy数组与类似于数组的对象(array-like,包括Python列表、元组和numpy数组)相乘(同样适用于加、减、真除、整除和幂运算),需要满足广播的条件:两个数组的shape属性的元组右对齐之后要求两个元组在垂直方向的两个数字要么相等...数组与标量相乘,等价于乘法运算符或numpy.multiply()函数: ? 如果两个数组是长度相同的一维数组,计算结果为两个向量的内积: ?...6)numpy矩阵与矩阵相乘时,运算符*和@功能相同,都表示线性代数里的矩阵乘法。 ? 7)连乘,计算所有数值相乘的结果,可以使用标准库函数math.prod(),Python 3.8之后支持。
误用 list 乘法 今天刷 LeetCode 碰到一个水题转置矩阵, 这不就是先生成个空的倒置矩阵再填结果嘛,没多想就用 list 乘法上手就写。...[[3, 0], [3, 0], [3, 0]] [[3, 4], [3, 4], [3, 4]] [[3, 5], [3, 5], [3, 5]] 我的猜测与验证 发现果然列表里的每一个子元素都相等了...正确姿势 list 的乘法是能很方便的构建一个全为重复元素的一维列表方法,但在多维情况下非常容易出错。 所以说慎用 list 乘法!!!想构建 list 老老实实给我用列表生成器去。
顾名思义,数字组成的矩形,例如: [1 2 3 4 5 67 8 9 1011 ] 现在,我们需要用python编程来实现矩阵的乘法。...解决方案 1.矩阵乘法原理 要做矩阵的乘法,首先得搞清楚几点关于矩阵乘法的知识。 只有一个矩阵的列数等于另一个矩阵的行数时,这两个矩阵才能相乘。...矩阵乘法的原理是,一个矩阵的每一行分别与另一个矩阵的每一列的每一个数一一对应相乘再相加,得到的数字就是结果矩阵的中的一个数。 结果矩阵的形状是一个矩阵的行数和另一个矩阵的列数。...2.python实现矩阵乘法 知道了矩阵乘法的原理后,再一起来看看如何用python编写出程序吧。如何输入输出矩阵就不说了,直接看中间的算法。有以下几个步骤: “定循环”。...图2.4.1 运行效果 结语 Python中很多东西常常与数学有关,要想做正确,还得究其原理。对于矩阵乘法,可以是说得非常详细了,甚至会显得有点啰嗦,但是,所体现的是对于一个问题的解题思路。
使用Python打印乘法口诀 效果图: python代码: for i in range(1,10): for j in range(1,i+1): print("%d*%d=
方法是将两个乘数转为两个包含乘数每位数字的list, 因为在计算中两个list中的数据要反复使用,所以定义第三个list来保存乘法的运算结果,然后使用两重循序模拟列竖式计算出乘法运算的结果, 因为乘法运算每次运算时需要向前移动一位表示扩大
其中广播的仅用到了 + 运算符,而这些广播规则对于任意二进制通用函数都是适用的,大家可以再试试乘法、除法之类的操作。它适用的场景非常多,尤其是在矩阵运算时候,非常方便,体现了巨大优势。
我们平时接触的长乘法,按位相乘,是一种时间复杂度为 O(n ^ 2) 的算法。今天,我们来介绍一种时间复杂度为 O (n ^ log 3) 的大整数乘法(log 表示以 2 为底的对数)。...接着,我们在计算 n / 2 乘法的过程中又会遇到 n / 4 位的乘法运算……以此类推,直到我们遇到两个个位数的乘法,我们就直接返回这两个个位数乘法的结果。层层返回,最终得到 N 位数的乘法结果。...时间复杂度 我们平常使用的长乘法,是 O (n ^ 2) 的时间复杂度。比如两个 N 位数相乘,我们需要将每一位按规则相乘,所以需要计算 N * N 次乘法。...而使用 Karatsuba 算法每层需要计算三次乘法,两次加法,以及若干次加法,每使用一次 karatsuba 算法,乘法规模就下降一半。...所以,对于两个 n = 2 ^ K 位数乘法运算,我们需要计算 3 ^ k 次乘法运算。
打印99乘法表 相信99乘法表大家都很熟悉,下面介绍如何使用Python来打印99乘法表。...hello Peter print("hello","Peter") hello Peter print("hello Peter") print("***********") print("hello python...") hello Peter *********** hello python 连接符sep 从下面的例子中看到默认的连接符是空格 print("hello","Peter") hello Peter...for语句 # 1、打印列表 list1 = [1,2,3,4,5] # 定义列表 for i in list1: print(i) # 直接打印 1 2 3 4 5 # 2、打印字典 dic...列表推导式主要是将两个for循环放在一起的。
本文内容:Python 列表 更多内容请见 Python 入门基础专栏 Python 字符串 Python 常用字符串方法 ---- Python 列表 1.创建列表 1.1 list 函数 1.2...(x) 将列表中出现的第一个元素x删除 ls.reverse(x) 列表ls中元素反转 ls.index(x) 找出某个值第一个匹配项的索引位置 ---- 1.创建列表 在Python中,通常用list...---- 1.2 方括号 使用方括号[]创建列表时,需要在列表中列出所有元素: print(['Python', 'Java', 'C']) ---- 1.3 空列表 可以使用list()函数和方括号...'] print(ls) 当使用一个列表改变另一个列表值时,Python 不要求两个列表长度一样,但遵循“多增少减”的原则。...('Java') print(ls) print(a) 可以看出,这里的 ls 和 a 其实是同一个列表,这与 Python 自身的机制有关,当我们将一个列表赋值给另一个列表时其实并不是将列表中的内容赋值过去了
列表是python中最基础,最强大的数据结构之一。python的列表可以容纳任何东西,其中的元素可以没有任何关系。python的列表就像一个可以容纳万物的容器。...在Python 中,用方括号([])表示列表,并用逗号分隔其中的元素。...查找列表中的元素 python打印列表的时候,会将外面的方括号打印出来。既然列表是有序的,那么python肯定提供了有序访问的方式,那就是使用下标来进行索引。...python和大多数的计算机编程语言一样,索引是从0开始,而不是1。但是python为列表提供了从尾部开始访问的方式,即使你不知列表有多长。python中可以使用下标-1来索引列表的最后一个元素。...前面的生成列表的代码还可以进一步简化,python提供了列表解析,可以一句话生成数值列表。
列表,元组,字典,集合的概念 列表 列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。...例如: a = [1,'2',456] 元组 Python 的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号 ( ),列表使用方括号 [ ]。...) 执行结果: 原始列表: ['a', 'b', 'c', 'd', 'e'] 复制后列表: ['a', 'b', 'c', 'd', 'e'] 查找列表中最小元素 定义一个数字列表,并查找列表中的最小元素...Python list实现队列 代码演示 list1 = [] #向列表中插入元素 list1.insert(0,"语文") list1.insert(0,"数学") list1.insert(0,"英语...Python list实现栈 代码演示: #定义一个空 list 当做栈 list1 = [] list1.append("语文") list1.append("数学") list1.append("英语
#集合中的元素不允许重复,在创建集合对象时,python会自动去掉重复值。...x={1,2,1,3,4,5} print(x) y=set({4,5,4,5}) print(y) #python 3.0 引入了一种集合解析构造方法。...#其主要特点如下:列表可以包含任意类型的对象:数字、字符串、列表、元祖或其他对象。 #列表是一个有序序列。与字符串类似,列表中的每一项按照从左到右的顺序,可通过位置偏移量进行索引和分片。...#列表是可变的。首先列表长度可变,即可添加或删除列表成员。其次,列表中的对象课直接修改。 #python为列表对象提供了一系列处理方法,下面介绍一些常用的方法。...若列表对象全部是 #字符串,则按字典顺序排序。若列表包含多种类型,则会出错。
=[0 for i in range(4)]print(matrix) //[0, 0, 0, 0]#方法五:数组乘法matrix=[0]*5print(matrix) //[0, 0, 0, 0, 0...]2.定义空列表# 定义空列表new_list = []3.定义非空列表# 定义一个列表 listmy_list = ["itheima", "itcast", "python"]print(my_list...)4.查询列表的类型# 定义一个列表 listmy_list = ["itheima", "itcast", "python"]print(type(my_list))5.类型不同的列表my_list...", "python"]# 修改特定下标索引的值mylist[0] = "传智教育"print(f"列表被修改元素值后,结果是:{mylist}")六.列表遍历1.enumerate 函数在 Python...因为 Python 列表的索引是从 0 开始,所以 len(digits)-1 代表 digits 列表的最后一个元素的索引,-1 代表列表的第一个元素的索引。
什么是列表 list(列表)是一种有序的数据集合。...举例说明,在交互式环境中输入下面的内容,其中 courses 就是一个列表: >>> courses = ['Linux', 'Python', 'Vim', 'C++'] >>> courses.append...(1, 'Ruby') >>> courses ['Java', 'Ruby', 'Linux', 'Python', 'Vim', 'C++', 'PHP'] 列表方法 count(s) 会返回列表元素中...Python', 'Vim', 'C++'] >>> courses.append('PHP') >>> courses ['Ruby', 'Linux', 'Python', 'Vim', 'C++'..., 'PHP'] 列表是有顺序的,我们在执行所有的列表操作的过程中都要时刻记住这一点,有序的列表可以进行反转: >>> courses ['Ruby', 'Linux', 'Python', 'Vim
一、列表切片 numbers=[5,1,6,9,0,3,4,2] print(numbers[0:2]) print(numbers[3:6]) print(numbers[:]) print(numbers...3, 4, 2, 100] 2、clear 清空列表内容 numbers=[5,1,6,9,0,3,4,2] numbers.clear() print(numbers) [] 3、copy 复制列表...,原列表被更改,看起来类似于列表的拼接,但有重要的区别,拼接是将修改被扩展的列表,生成一个全新的列表,原列表不变 numbers1=[1,2,3] numbers2=[4,5,6] numbers=numbers1...,按相反顺序排列列表数据;如果不想改变原列表,对原列表的副本进行翻转用reversed(列表),返回的是一个迭代器,需要用list将对象转换为列表 numbers=[5,1,6,9,0,3,4,2,0]...,降序排列需要加上(reverse=True),改变了原列表;如果不想改变原列表,对原列表的副本进行升序排列用sorted(列表) numbers=[5,1,6,9,0,3,4,2,0] numbers.sort
[ord(s) for s in symbols if ord(s) > 127 ] list(filter(lamba: c: c>127,map(ord,symbols))) 列表推导性能: result...image.png 多维切片 [1:3,2:2] 排序 list.sort不会新建一个列表 sorted 会新建一个列表 ?
对于只包含整数的列表,Python还提供了另外的几种创建列表的方法: (1)range(n,m) 函数range返回一个整数列表,列表从函数的第一个参数n开始,最后一个参数m结束,但不包含最后一个参数m...) >>> a = range(8) >>> print a [0, 1, 2, 3, 4, 5, 6, 7] >>> (3)range(n,m,k) 函数range产生一个在数学上成为等差数列的列表...(x) 用于在列表的尾部追加元素,参数x是插入元素的值。...,将list2列表的值添加到list1列表的后面 >>> list1 = ["I ", "really "] >>> list2 = ["love ", "you"] >>> list1.extend(...>>> 如果试图对一个空列表使用pop方法,则会引发一个错误!
/usr/bin/python for i in range(1,10): for j in range(1,i+1): print j,'x',i,'=',i*j, print "\n" ?