-
2021-03-11 11:19:59
用列表解析可以快捷地生成空二维数组,代码如下
n,m=map(int,input().split()) graph=[[0 for j in range(n)] for i in range(m)] print(graph)
更多相关内容 -
Python使用numpy模块创建数组操作示例
2021-01-20 04:12:08本文实例讲述了Python使用numpy模块创建数组操作。分享给大家供大家参考,具体如下: 创建数组 创建ndarray 创建数组最简单的方法就是使用array函数。它接收一切序列型的对象(包括其他数组),然后产生一个新的含有... -
Python生成随机数组的方法小结
2020-12-25 08:59:08本文实例讲述了Python生成随机数组的方法。分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Python生成随机数组的方法稍作总结,以备以后查看... -
python 获取等间隔的数组实例
2021-01-20 06:03:25可以使用numpy中的linspace函数 np.linspace(start, stop, num, endpoint, ...#dtype默认为输入变量的类型,给定类型后将会把生成的数组类型转为目标类型 np.linspace(1,3,num=4) Out[17]: array([1. , 1.666666 -
Python中创建二维数组
2020-12-25 10:38:18Python中的列表list可以当做一维数组使用,但是没有直接的定义使用二维数组。如果直接使用a = [][]会产生SyntaxError: invalid syntax语法不正确错误。 一般Python中创建二维数组的方法是使用列表解析的方法 列表... -
Python实现1-9数组形成的结果为100的所有运算式的示例
2020-12-28 23:22:42问题:编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34–5 + 67–8 + 9 = 100。from functools import reduceoperator = {1: ...问题:
编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34–5 + 67–8 + 9 = 100。
from functools import reduce
operator = {
1: '+',
2: '-',
0: ''
}
base = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
def isHundred(num):
#转化为8位3进制数,得到运算符数组
arr = [] for index in range(8):
index = 7 - index
arr.append(num // (3 ** index))
num -= (num // (3 ** index)) * (3 ** index)
arr = map(lambda x: operator[x], arr)
#合并得到运算式
formula = reduce(lambda x, y: x + y, zip(base, arr))
formula = list(formula)
formula.append('9')
formula = ''.join(formula)
#计算运算式结果
res = eval(formula)
return res, formula
if __name__ == '__main__':
#所有可能的结果
total = 3 ** 8
for i in range(total):
res, formula = isHundred(i)
if res == 100:
print(formula+' = 100')
结果:
/usr/bin/python3.5 /home/kang/workspace/Qt3d/test.py
123+45-67+8-9 = 100
123+4-5+67-89 = 100
123-45-67+89 = 100
123-4-5-6-7+8-9 = 100
12+3+4+5-6-7+89 = 100
12+3-4+5+67+8+9 = 100
12-3-4+5-6+7+89 = 100
1+23-4+56+7+8+9 = 100
1+23-4+5+6+78-9 = 100
1+2+34-5+67-8+9 = 100
1+2+3-4+5+6+78+9 = 100
以上这篇Python实现1-9数组形成的结果为100的所有运算式的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:Python中数字以及算数运算符的相关使用Python对小数进行除法运算的正确方法示例Python编程实现数学运算求一元二次方程的实根算法示例python中实现精确的浮点数运算详解Python复数属性和方法运算操作示例用Python做的数学四则运算_算术口算练习程序(后添加减乘除)Python中的数学运算操作符使用进阶Python双精度浮点数运算并分行显示操作示例举例讲解Python中的算数运算符的用法Python中的浮点数原理与运算分析Python常见数字运算操作实例小结
-
Python算法输出1-9数组形成的结果为100的所有运算式
2020-09-21 02:08:44主要介绍了Python算法输出1-9数组形成的结果为100的所有运算式,然后介绍了另外一个相关实例,具体内容请参阅正文,需要的朋友可以参考下。 -
python由已知数组快速生成新数组的方法
2020-12-18 08:10:06这篇文章主要介绍了python由已知数组快速生成新数组的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧需求描述在利用numpy进行数据...这篇文章主要介绍了python由已知数组快速生成新数组的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
需求描述
在利用numpy进行数据分析时,常有的一个需求是:根据已知的数组生成新数组。这个问题又可以分为两类:
根据筛选条件生成子数组;
根据变换条件生成新数组(新数组shape与原数组相同)
下面简单总结.
生成子数组
情况1
已知数组a,以及若干筛选条件conds,要求从数组a中生成一个子数组b。
解决办法:b=a[conds]。比如b=a[a>0],b=a[(a>=1)|(a<=-2)], b=a[(a>=1)&(a<=3)]
实例:如下
1
2
3
4
5
6
7
8
9
10
11
12
13
# 实例1.1:已知数组a,要求找出所有a>0的元素,然后生成一个新数组。
a= np.arange(-5,5,1)
print('原数组a:',a)
b= a[a>0]
print('实例1结果:',b)
# 实例1.2:已知数组a,要求找出所有a>=1或a<=-2的元素,然后生成一个新数组。
b= a[(a>=1) | (a<=-2)]
print('实例2结果:',b)
# 实例1.3:已知数组a,要求找出所有a>=1并且a<=3的元素,然后生成一个新数组。
b= a[(a>=1) & (a<=3)]
print('实例3结果:',b)
运行结果:
原数组a: [-5 -4 -3 -2 -1 0 1 2 3 4]
实例1结果: [1 2 3 4]
实例2结果: [-5 -4 -3 -2 1 2 3 4]
实例3结果: [1 2 3]
情况2
已知数组a和数组b(shape相同),以及对数组a的筛选条件conds_a。要求从数组b中生成一个子数组c,其中的元素id,与满足筛选条件的数组a的元素id一一对应。
解决办法:
c = b[conds_a],比如c = b[(a>=1) & (a<=3)]
实例:如下
1
2
3
4
5
6
7
a= np.arange(-5,5,1)
b= np.arange(-50,50,10)
print('数组a:',a)
print('数组b:',b)
c= b[(a>=1) & (a<=3)]
print('新数组c:', c)
运行结果:
数组a: [-5 -4 -3 -2 -1 0 1 2 3 4]
数组b: [-50 -40 -30 -20 -10 0 10 20 30 40]
新数组c: [10 20 30]
变换成新数组
已知数组a,以及若干变换条件conds,要求生成一个新数组b(与原数组shape相同)。解决办法:
方法1:np.where(where(condition, [x, y]))
使用场景:当变换条件只有两个以下时,比如实例2.1。该方法等价于:if condition x else y
方法2: np.select(condlist, choicelist, default=0)
使用场景:当变换条件有任意多个时,比如实例2.2。该方法等价于:
1
2
3
4
5
6
7
if condlist[0]:
choicelist[0]
elif condilist[1]:
choicelist[1]
...
else:
default
方法3:np.piecewise(x, condlist, funclist, *args, **kw)
使用场景:同方法2,只不过变换条件较复杂,无法直接写出,要用函数来表示。
实例:如下
1
2
3
4
5
6
7
8
9
# 实例2.1:已知数组a,要求对所有a<0的元素取绝对值,对其他元素设为0,然后生成一个新数组
a= np.arange(-5,5,1)
print(a)
b= np.where(a<0,abs(a),0)
print('实例2.1结果:',b)
# 实例2.2:已知数组a,要求对所有a<0的元素取绝对值,对a=0的元素+100,对a>0
的元素平方,然后生成一个新数组
b= np.select([a<0, a==0, a>0], [abs(a), a+100, a**2])
print('实例2.2结果:',b)
运行结果:
[-5 -4 -3 -2 -1 0 1 2 3 4]
实例2.1结果: [5 4 3 2 1 0 0 0 0 0]
实例2.2结果: [5 4 3 2 1 100 1 4 916]
到此这篇关于python由已知数组快速生成新数组的方法的文章就介绍到这了
-
Python实现1-9数组形成的结果为100的所有运算式的示例,python1-9
2020-12-28 23:22:34Python实现1-9数组形成的结果为100的所有运算式的示例,python1-9问题:编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34–5 +...Python实现1-9数组形成的结果为100的所有运算式的示例,python1-9
问题:
编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34–5 + 67–8 + 9 = 100。
from functools import reduce
operator = {
1: '+',
2: '-',
0: ''
}
base = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
def isHundred(num):
#转化为8位3进制数,得到运算符数组
arr = []
for index in range(8):
index = 7 - index
arr.append(num // (3 ** index))
num -= (num // (3 ** index)) * (3 ** index)
arr = map(lambda x: operator[x], arr)
#合并得到运算式
formula = reduce(lambda x, y: x + y, zip(base, arr))
formula = list(formula)
formula.append('9')
formula = ''.join(formula)
#计算运算式结果
res = eval(formula)
return res, formula
if __name__ == '__main__':
#所有可能的结果
total = 3 ** 8
for i in range(total):
res, formula = isHundred(i)
if res == 100:
print(formula+' = 100')
结果:
/usr/bin/python3.5 /home/kang/workspace/Qt3d/test.py
123+45-67+8-9 = 100
123+4-5+67-89 = 100
123-45-67+89 = 100
123-4-5-6-7+8-9 = 100
12+3+4+5-6-7+89 = 100
12+3-4+5+67+8+9 = 100
12-3-4+5-6+7+89 = 100
1+23-4+56+7+8+9 = 100
1+23-4+5+6+78-9 = 100
1+2+34-5+67-8+9 = 100
1+2+3-4+5+6+78+9 = 100
以上这篇Python实现1-9数组形成的结果为100的所有运算式的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持帮客之家。
-
Python动态生成多维数组的方法示例
2020-09-20 04:20:29主要介绍了Python动态生成多维数组的方法,涉及Python数组动态遍历、添加、打印等相关操作技巧,需要的朋友可以参考下 -
python3.x 生成3维随机数组实例
2021-01-02 12:21:46如下所示: ... 您可能感兴趣的文章:对python产生随机的二维数组实例详解Python生成随机数组的方法小结Python动态生成多维数组的方法示例Python使用random模块生成随机数操作实例详解numpy自动生成数组详解 -
python生成多个只含0,1元素的随机数组或列表的实例
2020-12-25 13:56:33>>> myarray= np.random.randint(0,2,10)输出只含0,1元素的一维数组,长度为10 >>> myarray array([1, 1, 1, 0, 1, 0, 0, 1, 1, 0]) >>> myarray= np.random.randint(0,2,(3,10))输出只含0,1元素的3行10列数组 >>> ... -
python如何建立全零数组
2020-12-17 07:42:04dtype:生成数组的数据格式,如numpy.int8。默认为numpy.float64。 order:{’C’, ‘F’}可选,是否将多维数据存储为C-或Fortran-contiguous(按行或按列)顺序。 返回值:ndarray,一个指定了shape, dtype, order... -
python 文件转成16进制数组的实例
2020-09-20 07:06:52今天小编就为大家分享一篇python 文件转成16进制数组的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Python生成等间隔列表 数组numpy.linspace(start, end, interval)函数
2021-02-27 16:35:34代码 ...TimeList=np.linspace(0,100,11) print(TimeList) 输出 [ 0. 10. 20. 30. 40. 50. 60. 70. 80. 90. 100.] numpy.linspace(start, end, interval)函数三个参数分别是列表开始,结束,间隔数。 -
python-OpenCV 实现将数组转换成灰度图和彩图
2020-12-23 02:50:011.生成普通python数组(bytearray(),os.urandom()) 2.转换成numpy数组(numpy.array()) 3.通过reshape将数组转换到所需的维数 4.以图像的形式显示出来(cv.imshow()) 代码 import os import cv2 as cv import numpy as... -
Python生成随机不重复数组
2020-02-17 01:32:18Golang Python def get_random_list(start,stop,n): ... 生成范围在[start,stop], 长度为n的数组. 区间包含左右endpoint ''' arr = list(range(start, stop+1)) shuffle_n(arr,n) return arr[-n:] def s... -
python生成numpy数组
2021-10-29 20:21:15正在生成numpy数组 numpy.ndarray是一种表示N维数组的类型。 数组可以生成: 1.包含数字数据的Python列表 2.使用numpy数组生成函数 3.从文件中读取数据 my_list = [1,2,3,4,5] my_array = np.array(my_list) # ... -
Python实现二维数组输出为图片
2020-09-20 16:04:31下面小编就为大家分享一篇Python实现二维数组输出为图片,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧