对Python中数组的几种使用方法总结
for str in a:这里介绍几个常用的列表作:
python创建数组_python创建数组的函数
python创建数组_python创建数组的函数
1、添加元素
添加元素使用列表的内置方法append
number
3,
4]
number.append(5)
#number
3,
4,
5]
number.append([6,7])
#number
3,
4,
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代中的一项;5,
[6,
7]]
#number
3,
4,
[6,
7],
{'a',
可以看到强大的python列表可以嵌套任意类型
2、列表相加
要想连接两个列表,可以使用+号连接
a=
[1,
5,
6输出:(may vary)]
c=
a+
b#
c=
[1,
3,
4,
5,
6]
也可以使用列表内置方法extend连接两个列表
a=
[1,
5,
6]
a.extend(b)
#a
3,
4,
5,
6]
用+号会创建一个新通对象,使用extend则在原来的对象上面修改
3、列表去重复
列表本身没有去除重复的功能,但是可以借助python的另外一个类型set((set)查看)
a=
[1,
3,
3,2,
1]
list(set(a))
也可以借助字典类型的内置方法
a=
[1,
3,
1,
{}.fromkeys(a).keys()
python数组的使用
1、Python的数组分三种类型:
(1) list 普通的链表,初始化后可以通过特定方法动态增加元素。定义方式:arr = [元素]
(2) Tuple 固定的数组,一旦定义后,其元素个数是不能再改变的。定义方式:arr = (元素)
(3) Dictionary 词典类型, 即是Hash数组。定义方式:arr = {元素k:v}
2、下面具体说明这些数组的使用方法和技巧:
a = [1,2,[1,2,3]]
b、定义时不初始化一维数组:
arr = []
数组: arr = [i for i in range(10), 1,[]] #注意,array([[ 2.], i for in xx 这个必须放在个位置,否则要先定义i,
如:
for i ,j in list1 :arr = [i for i in range(5), j for j in range(5), []]
这是错误的
这是正作用效果:对数组a排序,返回一个排序后索引,a不变确的
c、del 语句和 : 的用法
可以用 start : end 表示数组里的一个区间 ( i >= start and i < end)
del 删除数组里的指定元素
如:
d、遍历数组:
e、增加元素:
一维 arr.append('')
二维 arr[0].append('')
如果要在任意位置插入用 arr.insert(n, 值)
此外还有一种特殊的用法是:
arr += [数组元素]
在不指定下标的情况下,是允许用 += 增加数组元素的。
(2) Tuple 固定数组Tuple 是不可变 list,一旦创建了一个 tuple 就不能以任何方式改变它。
Tuple 没有的方法:
[1] 不能向 tuple 增加元素,没有 append 、 extend 、insert 等方法。
[2] 不能从 tuple 删除元素,没有 remove 或 pop 方法。
[3] 不能在 tuple 中查找元素,没有 index 方法(index是查找而不是索引,索引直接用下标即可,如:t[0])。
使用 tuple 的好处:
Tuple 可以转换成 list, 反之亦然。
转换方式为:
反之:
(2) Dictionary (哈希数组)词典数组
Dictionary 的用法比较简单,它可以存储任意值,并允许是不同类型的值,下面实例来说明:
下面例子中 a 是整数, b 是字符串, c 是数组,这个例子充分说明哈希数组的适用性。
输出所有的key
输出所有的value
遍历数组
python怎么作数组元素?
c.flags.owndata # False在Python中,一个像这样的表格可以通过“序列的序列”实现。一个表格是行的序列。每一行又是单元格的序列。这类似于我们使用的数学记号,在数学里我们用Ai,j,而在Python里我们使用A[i][j],代表矩阵的第i行第j列。 这看起来非常像“元组的列表”(Lists of Tuples)。
b=“列表的列表”示例: 输出:我们可以使用嵌套的列表推导式(list comprehension)创建一个表格。 下面的例子创建了一个“序列的序列”构成的表格,并为表格的每一个单元格赋值。
table= [ [ 0 for i in range(6) ] for j in range(6) ]
for d1 in range(6):
for d2 in range(6):
123456
程序的输出结果如下:
[[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]],
[[2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9],
[5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12]]
1234 这个程序做了两件事:创建了一个6 × 6的全0表格。 然后使用两枚的可能组合的数值填充表格。 这并非完成此功能最有效的方式,但我们通过这个简单的例子来演示几项技术。我们仔细看一下程序的前后两部分。
程序的部分创建并输出了一个包含6个元素的列表,我们称之为“表格”;表格中的每一个元素都是一个包含6个0元素的列表。它使用列表推导式,对于范围从0到6的每一个j都创建对象。每一个对象都是一个0元素列表,由i变量从0到6遍历产生。初始化完成之后,打印输出二维全0表格。 推导式可以从里向外阅读,就像一个普通表达式一样。内层列表[ 0 for i in range(6) ]创建了一个包含6个0的简单列表。外层列表[ [...] for j in range(6) ]创建了这些内层列表的6个深拷贝。
程序的第2个部分对2个的每一个组合进行迭代,填充表格的每一个单元格。这由两层嵌套循环实现,每一个循环迭代一个。外层循环枚举个的所有可能值d1。内层循环枚举第二个d2。 更新每一个单元格时需要通过table[d1]选择每一行;这是一个包含6个值的列表。这个列表中选定的单元格通过...[d2]进行选择。我们将掷的值赋给这个单元格,d1+d2+2。
其他示例: 打印出的列表的列表不太容易阅读。下面的循环会以一种更加可读的形式显示表格。
for row in table: print row
[2, 3, 4, 5, 6, 7]
[3, 4, 5, 6, 7, 8]
[4, 5, 6, 7, 8, 9]
[6, 7, 8, 9, 10, 11]
[7, 8, 9, 10, 11, 12]
123456780111213 作为练习,读者可以试着在打印列表内容时,再打印出行和列的表头。提示一下,使用"%2d" % value字符串运算符可以打印出固定长度的数字格式。
显示索引值(Explicit Index Values)。
我们接下来对表格进行汇计,得出累计频率表。我们使用一个包含13个元素的列表(下标从0到12)表示每一个值的出现频率。观察可知值2在矩阵中只出现了一次,因此我们期望fq[2]的值为1。遍历矩阵中的每一个单元格,得出累计频率表。
fq= 13 [0]
for i in range(6):
for j in range(6):
c= table[i][j]
12345
使用下标i选出表格中的行,用下标j从行中选出一列,得到单元格c。然后用fq统计频率。 这看起来非常的数学和规范。
Python提供了另外一种更简单一些的方式。 使用列表迭代器而非下标,表格是列表的列表,可以采用无下标的for循环遍历列表元素。
fq= 13 [0]
print fq
for row in table:
for c in row:
fq[c] += 1
print fq[2:
如何在python中定义一个:带变量的数组名
Copy codefq[ c ] += 1arr = []变量名字只是为了用户使用方便而使用的,对于计算机,根本就不知道这中间的东西,看待这些都是使用内存的地址来判别的,对于你这样的情况是无法直接利用jchoose, compress, cumprod, cumsum, inner, ndarray.fill, imag, prod, put, putmask, real, suma实现的,不过可以使用另外一种方法.
就是定义一个类,类中有两个属性,一个是String类型,一个是int类型,这样循环定义100个对象,每个对象的String类型成员存放的是int1....int100,而int类性的成员则存放的是相应的数值。这样一来就可以轻松解决了,而且这一百个对象可以定义成例如 Fun[]bj=new Fun[100];这样一来,就可以利用数组的作来实现任意作了!!
Python怎么生成三维数
a、定义时初始化1、创建一般的数组
3]import numpy as np
[ 9., 1., 6.],a = np.array([1,2,3], dtype=int) # 创建13维数组 array([1,2,3])
type(a) # numpy.ndarray类型
a.shape # 维数信息(3L,)
a.dtype.name # 'int32'
a.size # 元素个数:3
a.size #每个元素所占用的字节数目:4
b=np.array([[1,2,3],[4,5,6]],dtype=int) # 创建23维数组 array([[1,2,3],[4,5,6]])
b.shape # 维数信息(2L,3L)
b.size # 元素个数:6
b.size # 每个元素所占用的字节数目:4
c=np.array([[1,2,3],[4,5,6]],dtype='int16') # 创建23维数组 array([[1,2,3],[4,5,6]],dtype=int16)
c.shape # 维数信息(2L,3L)
c.size # 元素个数:6
c.size # 每个元素所占用的字节数目:2
c.ndim # 维数
d=np.array([[1,2,3],[4,5,6]],dtype=complex) # 复数二维数组
d.dtype.name # 元素类型:'complex128'2、创建一般的数组
import numpy as np
a = np.array([1,2,3], dtype=int) # 创建13维数组 array([1,2,3])
type(a) # numpy.ndarray类型
a.shape # 维数信息(3L,)
a.dtype.name # 'int32'
a.size # 元素个数:3
a.size #每个元素所占用的字节数目:4
b=np.array([[1,2,3],[4,5,6]],dtype=int) # 创建23维数组 array([[1,2,3],[4,5,6]])
b.shape # 维数信息(2L,3L)
b.size # 元素个数:6
b.size # 每个元素所占用的字节数目:4
c=np.array([[1,2,3],[4,5,6]],dtype='int16') # 创建23维数组 array([[1,2,3],[4,5,6]],dtype=int16)
c.shape # 维数信息(2L,3L)
c.size # 元素个数:6
c.size # 每个元素所占用的字节数目:2
c.ndim # 维数
d=np.array([[1,2,3],[4,5,6]],dtype=complex) # 复数二维数组
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
a1.dtype.name # 元素类型:'float64'
a1.size # 每个元素所占用的字节个数:8
a2 = np.ones((2,3,4), dtype=np.int16) # 创建234全1三维数组
a2 = np.ones((2,3,4), dtype='int16') # 创建234全1三维数组
array([[[1, 1, 1, 1],
[1, 1, 1, 1]],
[[1, 1, 1, 1],
[1, 1, 1, 1]]], dtype=int16)
a3 = np.empty((2,3)) # 创建23的未初始化二维数组
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
a4 = np.arange(10,30,5) # 初始值10,结束值:30(不包含),步长:5
输出:array([10, 15, 20, 25])
a5 = np.arange(0,2,0.3) # 初始值0,结束值:2(不包含),步长:0.2
输出:array([ 0. , 0.3, 0.6, 0.9, 1.2, 1.5, 1.8])from numpy import pi
np.linspace(0, 2, 9) # 初始值0,结束值:2(包含),元素个数:9
array([ 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ])
array([ 0. , 0.78539816, 1.57079633, 2.35619449, 3.14159265,
3.92699082, 4.71238898, 5.49778714, 6.28318531])
a = np.arange(6)
b = np.arange(12).reshape(4,3)
array([[ 0, 1, 2],
[ 6, 7, 8],
[ 9, 10, 11]])
c = np.arange(24).reshape(2,3,4)
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])使用numpy.set_printoptions可以设置numpy变量的打印格式
在ipython环境下,使用(numpy.set_printoptions)查询使用帮助和示例
4、数组的基本作
加法和减法作要求作双方的维数信息一致,均为MN为数组方可正确执行作。
a = np.arange(4)
array([0, 1, 2, 3])
b = a2
array([0, 1, 4, 9])
c = 10np.sin(a)
array([ 0. , 8.41470985, 9.09297427, 1.41120008])
n < 35
array([ True, True, True, True], dtype=bool)
A = np.array([[1,1],[0,1]])
B = np.array([[2,0],[3,4]])
C = A B # 元素点乘
array([[2, 0],
[0, 4]])
D = A.dot(B) # 矩阵乘法
array([[5, 4],
[3, 4]])
E = np.dot(A,B) # 矩阵乘法
array([[5, 4],
[3, 4]])数组作过程中的类型转换
When operating with arrays of different types, the type of the
resulting array corresponds to the more general or precise one (a
behior known as upcasting)
即作不同类型的数组时,结果自动转换为精度更高类型的数组,即upcasting
数组索引、切片和迭代
a = np.ones((2,3),dtype=int) # int32
b = np.random.random((2,3)) # float64
b += a # 正确
a += b # 错误a = np.ones(3,dtype=np.int32)
b = np.linspace(0,pi,3)
c = a + b
d = np.exp(c1j)
array([ 0.54030231+0.84147098j, -0.84147098+0.54030231j,
-0.54030231-0.84147098j])
d.dtype.name
'complex128'数组的一元作,如求和、求最小值、值等
a = np.random.random((2,3))
a.sum()
a.min()
a.max()
b = np.arange(12).reshape(3,4)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
b.sum(axis=0) # 按列求和
array([12, 15, 18, 21])
b.sum(axis=1) # 按行求和
array([ 6, 22, 38])
b.cumsum(axis=0) # 按列进行元素累加
array([[ 0, 1, 2, 3],
[ 4, 6, 8, 10],
[12, 15, 18, 21]])
b.cumsum(axis=1) # 按行进行元素累加
array([[ 0, 1, 3, 6],
[ 4, 9, 15, 22],
[ 8, 17, 27, 38]])universal functions
B = np.arange(3)
np.exp(B)
np.sqrt(B)
C = np.array([2.,-1.,4.])
np.add(B,C)其他的ufunc函数包括:
all, any, apply_along_axis, argmax, argmin, argsort, erage, bincount, ceil, clip, conj, corrcoef, cov, cross, cumprod, cumsum, diff, dot, floor,inner, lexsort, max, maximum, mean, median, min, minimum, nonzero, outer, prod, re, round, sort, std, sum, trace, transe, var,vdot, vectorize, where
5. 数组索引、切片和迭代
a = np.arange(10)3
a[2]
a[2:5]
a[::-1] # 逆序输出
for i in a:
print (i(1/3.))def f(x,y):
return 10x+y
b = np.fromfunction(f,(5,4),dtype=int)
b[2,3]
b[0:5,1]
b[:,1]
b[1:3,:]
b[-1]c = np.array([[[0,1,2],[10,11,12]],[[100,101,102],[110,111,112]]])
array([[[ 0, 1, 2],
[ 10, 11, 12]],
[[100, 101, 102],
[110, 111, 112]]])
c.shape
(2L, 2L, 3L)
c[0,...]
c[0,:,:]
array([[ 0, 1, 2],
[10, 11, 12]])
c[:,:,2]
c[...,2]
array([[ 2, 12],
[102, 112]])
print(row)
for element in c.flat:
print(element)a = np.floor(10np.random.random((3,4)))
[ 2., 1., 4., 6.],
[ 0., 6., 0., 2.]])
a.rel()
array([ 3., 9., 8., ..., 6., 0., 2.])
a.reshape(6,2)
array([[ 3., 9.],
[ 8., 4.],
[ 2., 1.],
[ 4., 6.],
[ 0., 6.],
[ 0., 2.]])
a.T
array([[ 3., 2., 0.],
[ 8., 4., 0.],
[ 4., 6., 2.]])
(4L, 3L)
a.resize((2,6))
array([[ 3., 9., 8., 4., 2., 1.],
[ 4., 6., 0., 6., 0., 2.]])
a.shape
(2L, 6L)
a.reshape(3,-1)
[ 2., 1., 4., 6.],
[ 0., 6., 0., 2.]])详查以下函数:
ndarray.shape, reshape, resize, rel
6. 组合不同的数组
a = np.floor(10np.random.random((2,2)))
array([[ 5., 2.],
[ 6., 2.]])
b = np.floor(10np.random.random((2,2)))
array([[ 0., 2.],
[ 4., 1.]])
np.vstack((a,b))
array([[ 5., 2.],
[ 6., 2.],
[ 0., 2.],
[ 4., 1.]])
np.hstack((a,b))
array([[ 5., 2., 0., 2.],
[ 6., 2., 4., 1.]])
from numpy import newaxis
np.column_stack((a,b))
array([[ 5., 2., 0., 2.],
[ 6., 2., 4., 1.]])
a = np.array([4.,2.])
b = np.array([2.,8.])
a[:,newaxis]
array([[ 4.],
[ 2.]])
b[:,newaxis]
[ 8.]])
np.column_stack((a[:,newaxis],b[:,newaxis]))
array([[ 4., 2.],
[ 2., 8.]])
np.vstack((a[:,newaxis],b[:,newaxis]))
array([[ 4.],
[ 2.],
[ 2.],
[ 8.]])
np.r_[1:4,0,4]
array([1, 2, 3, 0, 4])
np.c_[np.array([[1,2,3]]),0,0,0,np.array([[4,5,6]])]
hstack, vstack, column_stack, concatenate, c_, r_
7. 将较大的数组分割成较小的数组
a = np.floor(10np.random.random((2,12)))
array([[ 9., 7., 9., ..., 3., 2., 4.],
[ 5., 3., 3., ..., 9., 7., 7.]])
np.hsplit(a,3)
[array([[ 9., 7., 9., 6.],
[ 5., 3., 3., 1.]]), array([[ 7., 2., 1., 6.],
[ 7., 5., 0., 2.]]), array([[ 9., 3., 2., 4.],
[ 3., 9., 7., 7.]])]
np.hsplit(a,(3,4))
[array([[ 9., 7., 9.],
[ 5., 3., 3.]]), array([[ 6.],
[ 1.]]), array([[ 7., 2., 1., ..., 3., 2., 4.],
[ 7., 5., 0., ..., 9., 7., 7.]])]实现类似功能的函数包括:
hsplit,vsplit,array_split
8. 数组的作
a = np.arange(12)
array([ 0, 1, 2, ..., 9, 10, 11])
not copy at all
b = a
b is a # True
b.shape = 3,4
a.shape # (3L,4L)
def f(x) # Python passes mutable objects as references, so function calls make no copy.
print(id(x)) # id是python对象的标识符
id(a) # 111833936L
id(b) # 111833936L
f(a) # 111833936L
浅
c is a # False
c.base is a # True
c.shape = 2,6
a.shape # (3L,4L)
c[0,4] = 1234
print(a)
array([[ 0, 1, 2, 3],
[1234, 5, 6, 7],
[ 8, 9, 10, 11]])
s = a[:,1:3]
s[:] = 10
print(a)
array([[ 0, 10, 10, 3],
[ 8, 10, 10, 11]])
深
d = a.copy()
d is a # False
d.base is a # False
print(a)
array([[ 0, 10, 10, 3],
[ 8, 10, 10, 11]])numpy基本函数和方法一览
Array Creation
arange, array, copy, empty, empty_like, eye, fromfile, fromfunction, identity, linspace, logspace, mgrid, ogrid, ones, ones_like, r, zeros,zeros_like
Conversions
ndarray.astype, atleast_1d, atleast_2d, atleast_3d, mat
Manipulations
array_split, column_stack, concatenate, diagonal, dsplit, dstack, hsplit, hstack, ndarray., newaxis, rel, repeat, reshape, resize,squeeze, swapaxes, take, transe, vsplit, vstack
Questionsall, any, nonzero, where
Ordering
argmax, argmin, argsort, max, min, ptp, searchsorted, sort
Operations
Basic Statistics
cov, mean, std, var
Basic Linear Algebra
cross, dot, outer, linalg.svd, vdot
完整的函数和方法一览表链接:
python语言如何手动输入一个数组?
下面拿具体示输出:例说明:手动定义一个空数组:arr =[],链表数组:a = [1,2,[1,2,3]]。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public Lnse)协议[2] 。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
7月20日,IEEE发布2017年编程语言排行榜:Python高居首位。
python创建一个元素为从10到49的array对象是什么意思?
d.size # 每d[0,0] = 9999个元素所占用的字节数目:16意思就是创建很多数,这些数都是在10-49之间。给你举个例子:
import random
print([ran2,dom.randint(10,49) for i in range(int(input("请输入你要创建多少个10-49之间的随机数:")))])
什么是数组的维度,python 的ndim的使用
list2.append([i,j])NumPy数组(1、数组初探)
更新
目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器)。在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bug。在与NumPy源码以及NumPy开发者打交道的过程中,我发现当今中文NumPy教程大部分都是翻译或参考英文文档,因此导致了许多疏漏。比如NumPy数组中的broadcast功能,几乎所有中文文档都翻译为“广播”。而NumPy的开发者之一,回复到“broadcast is a compound -- native English speakers can see that it's " broad" + "cast" = "cast (scatter, distribute) broadly, I guess "cast (scatter, distribute) broadly" probably is closer to the meaning(NumPy中的含义)"。有鉴于此,我打算启动一个项目,以我对NumPy使用以及源码层面的了解编写一个系列的教程。
地址随后会更新。CSDN的排版(列表)怎么显示不正常了。。。
NumPy数组
NumPy数组是一个数组对象,称为ndarray。其由两部分组成:
实际的数据
描述这些数据的元数据
大部分number.append({'a':'b'})作仅针对于元数据,而不改变底层实际的数据。
关于NumPy数组有几点必需了解的:
NumPy数组的下标从0开始。
同一个NumPy数组中所有元素的类型必须是相同的。
NumPy数组属性
在详细介绍NumPy数组之前。先详细介绍下NumPy数组的基本属性。NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是两个一维数组,其中个一维数组中每个元素又是一个一维数组。所以一维数组就是NumPy中的轴(axes),个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量——秩,就是数组的维数。
NumPy的数组中(1) list 链表数组比较重要ndarray对象属性有:
ndarray.ndim:数组的维数(即数组轴的个数),等于秩。最常见的为二维数组(矩阵)。
ndarray.shape:数组的维度。为一个表示数组在每个维度上大小的整数元组。例如二维数组中,表示数组的“行数”和“列数”。ndarray.shape返回一个元组,这个元组的长度就是维度的数目,即ndim属性。
ndarray.size:数组元素的总个数,等于shape属性中元组元素的乘积。
ndarray.dtype:表示数组中元素类型的对象,可使用标准的Python类型创建或指定dtype。另外也可使用前一篇文章中介绍的NumPy提供的数据类型。
ndarray.size:数组中每个元素的字节大小。例如,一个元素类型为float64的数组siz属性值为8(float64占用64个bits,每个字节长度为8,所以64/8,占用8个字节),又如,一个元素类型为complex32的数组属性为4(32/8)。
ndarray.data:包含实际数组元素的缓冲区,由于一般通过数组的索引获取元素,所以通常不需要使用这个属性。
先来介绍创建数组。创建数组的方法有很多。如可以使用array函数从常规的Python列表和元组创造数组。所创建的数组类型由原序列中的元素类型推导而来。
对Python中数组的几种使用方法总结
如例所示:对Python中数组的几种使用方法总结
今天小编就为大家分享一篇对Python中数组的几种使用方法总结,具有很好的参考价值,希望对大家有所帮助a1.size # 元素个数:12。一起跟随小编过来看看吧
二维数组的初始化
matirx_done = [[0 for i in range(0, len(matirx))]for j in range(0, len(matirx[0]))]
就将其初始化为一个与matrix相同大小的元素全为 0 的矩阵
数组的多级排序
idea_collect.sort(key=lambda x: (x[1], -x[2]))
其中, x[1] 代表第二项正序排列, -x[2] 代表第三项倒序排列
排列结果为 [[3, 1, 2], [3, 1, 1], [3, 2, 2], [3, 2, 1]]
在一个 class 中多个函数不传参使用同一个数组
class Partition:
def __init__(self):
self.num_complete = []
def partition(self, num, start, end):
self.num_compelete = num
def partition_core(self):
del self.num_compelete[0]
其中,self.num_compelete就是 class 中两个函数同时可以直接调用的数组, 不过先在def __init__中声明这个数组
以table[d1][d2]= d1+d2+2上这篇对Python中数组的几种使用方法总结就是小编分享给大家的全部内容了
python中的字符串数组怎样实现
Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于发明,个公开发行版发行于19年。##声明一个数组
a = ['123=[1,', '222', '123']
##遍历#b之
print str
希望对lz有帮助。
a = ['123', '222', '123']
for s in a:
print s
反向遍历直接用rrsed来逆转a
for s in rrsed(a):
print s
python如何向数组中添加元素
输出:python向数组中添加元素步骤如下:
#一个二维数组,元素按照题主的要求有正有负。
list1 = [[1,1],[-2,2],[3,-3],[-4,-4]]
#一个空数组,用于接受需求转换以后的数据。
list2 = []
#for循环,遍历数组中的元素。
#按题主要求,负数变成0,非负数保留自身。楼上说条件索引的方法,大概也是在这一步的作。
但因为是二维数组,所以想来太抽象,不适合大我这样思维能力一般的人。所以我用了求 平均数的笨方法。
[i,j] = [(i+abs(i))/2,(j+abs(j))/2 ]
#把转换后的数组元素追加到新数组。
#查看结果,[[1, 1], [0, 2], [3, 0], [0, 0]],
print list2
python的list和tuple都提供数组的功能,区别是list可以改变长度,tuple不能改变长度
>>> tuple_a = (1,2,3)
>>> tuple_a
(1, 2, 3)
>>> tuple_a[1]
2>>>print c[('c', 1), ('a', 2), ('b', 3)]可见:返回的是一个list>>
>>> tuple_a[3] = 4
Traceback (most recent call last):
File "
TypeError: 'tuple' object does not support assignment
>>>超过tuple的长度会报错
>>> list_a 在数组 idea_collect = [[3, 1, 2], [3, 2, 1], [3, 2, 2], [3, 1, 1]] 中, 先按照第二项排列, 再按照第三项倒序排列 可写为:= [1,2,3]
>>> list_a
[1, 2, 3]
>>> list_a[1]
2>>> list_a.append(4)
>>> list_a
[1, 2, 3, 4]列表的长度是可以变化的。
先用列表添加,转换成数组就完事儿了
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。