首页>>后端>>Python->python计算数组中多少元素(2023年最新分享)

python计算数组中多少元素(2023年最新分享)

时间:2023-12-09 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关python计算数组中多少元素的相关内容,希望对大家有所帮助,一起来看看吧。

python 统计数组中元素连续出现

把数组转成字典进行统计

例如:

a = {}

b = [1,2,2,3,4,5,6,6]

for item in b:

if a[item] == None:

a[item] = 1

else:

a[item] += 1

printf(a)

Python中怎么快速提取List中的元素个数

你是说获取List的元素个数吗?

用len()来获取数组长度啊,

lt = [1,2,3]

len(lt)的结果就是3

python怎么操作多维数组元素

在Python中,一个像这样的多维表格可以通过“序列的序列”实现。一个表格是行的序列。每一行又是独立单元格的序列。这类似于我们使用的数学记号,在数学里我们用Ai,j,而在Python里我们使用A[i][j],代表矩阵的第i行第j列。

这看起来非常像“元组的列表”(Lists of Tuples)。

“列表的列表”示例

我们可以使用嵌套的列表推导式(list comprehension)创建一个表格。 下面的例子创建了一个“序列的序列”构成的表格,并为表格的每一个单元格赋值。

table= [ [ 0 for i in range(6) ] for j in range(6) ]

print table

for d1 in range(6):

for d2 in range(6):

table[d1][d2]= d1+d2+2

print table

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]

[5, 6, 7, 8, 9, 10]

[6, 7, 8, 9, 10, 11]

[7, 8, 9, 10, 11, 12]

12345678910111213

作为练习,读者可以试着在打印列表内容时,再打印出行和列的表头。提示一下,使用"%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]

fq[ c ] += 1

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中输出多个数组元素?

如果要输出多个列表元素,实际上是列表的分片或者说是切片。

以下代码运行通过:12list = ['a', 'b', 'mpilgrim', 'z', 'example']print('\n', list[0:3])

运行效果:

1.python输出一维矩阵或numpy数组中的非0元素

import numpy as np

a = np.mat([[0,1,0,1,2,3,4,0]])

b = np.array([0,1,0,1,2,3,4,0])print a[a0] # []里面是不等式成立的情况print b[(b0) (b 3)]12345

输出结果: 

[[1 1 2 3 4]] 

[1 1 2]

2.但是列表不行:

import numpy as np

a = np.mat([[0,1,0,1,2,3,4,0]])

b = a.tolist() #把矩阵转换为列表print a[a0]print b#print b[b0] #这一句是错误的123456

输出结果: 

[[1 1 2 3 4]] 

[[0, 1, 0, 1, 2, 3, 4, 0]]

3.另外,直接对二维矩阵(numpy数组)输出也是不行的:

import numpy as np

a = np.mat([[0,1,0,1,2,3,4,0],[1,2,0,1,0]])

b = np.array([[0,1,0,1,2,3,4,0],[1,2,0,1,0]])print a[a0]print b[b0]12345

输出结果: 

[[[0, 1, 0, 1, 2, 3, 4, 0] [1, 2, 0, 1, 0]]] 

[[0, 1, 0, 1, 2, 3, 4, 0] [1, 2, 0, 1, 0]]

结语:以上就是首席CTO笔记为大家整理的关于python计算数组中多少元素的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/20830.html