导航:首页 > 编程语言 > python二维列表元素计数

python二维列表元素计数

发布时间:2022-04-14 03:39:09

A. 一些python中的二维数组的操作方法

一些Python中的二维数组的操作方法
这篇文章主要介绍了一些Python中的二维数组的操作方法,是Python学习当中的基础知识,需要的朋友可以参考下

需要在程序中使用二维数组,网上找到一种这样的用法:
#创建一个宽度为3,高度为4的数组
#[[0,0,0],
# [0,0,0],
# [0,0,0],
# [0,0,0]]
myList = [[0] * 3] * 4

但是当操作myList[0][1] = 1时,发现整个第二列都被赋值,变成
[[0,1,0],

[0,1,0],

[0,1,0],

[0,1,0]]

为什么...一时搞不懂,后面翻阅The Python Standard Library 找到答案

list * n—>n shallow copies of list concatenated, n个list的浅拷贝的连接

例:
>>> lists = [[]] * 3
>>> lists
[[], [], []]
>>> lists[0].append(3)
>>> lists
[[3], [3], [3]]

[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用,修改任何

一个元素都会改变整个列表:

所以需要用另外一种方式进行创建多维数组,以免浅拷贝:
>>> lists = [[] for i in range(3)]
>>> lists[0].append(3)
>>> lists[1].append(5)
>>> lists[2].append(7)
>>> lists
[[3], [5], [7]]

之前的二维数组创建方式为:
myList = [([0] * 3) for i in range(4)]

B. python二维数组中的每一组元素重复的次数怎么统计

代码如下:

#coding=utf-8

if__name__=='__main__':

a=[
[2,3,34,56],
[14,23,45,6],
[2,3,34,56]
]

map={}

foritemina:
s=str(item)
ifsinmap.keys():
map[s]=map[s]+1
else:
map[s]=1

forkeyinmap.keys():
print('%s的次数为%d'%(key,map[key]))

运行结果:

C. 如何在python中创建二维列表

Python中创建二维列表/数组,即创建一个list,并且这个list的元素还是list。可以用列表解析的方法实现。

创建例子如下:

2d_list=[[0forcolinrange(cols)]forrowinrange(rows)]

其中cols, rows变量替换为你需要的数值即可,例如:

2d_list=[[0forcolinrange(9)]forrowinrange(9)]
#9*9的二维列表

D. python中二维数组中的数如何表达

python中是没有数组的,只有列表(比如list=[1,2,3],二维的就是嵌套,比如list=[1,[1,2]])和字典(比如dic{1:2,3:4})
他们和数组组大的区别就是数组是有序的,而他们是无序的

E. 用python设计函数 输入一个2维列表 用该函数计算每一列的和并返回一个列表

#!/usr/bin/python
#-*-coding:utf-8-*-
#@Time:2018/6/1015:00
#@File:Sum_List.py
"""
输入一个2维列表用该函数计算每一列的和并返回一个列表
"""


defsum_each_colum(olist):
"""
计算多维数字数组每列的和,并作为一个列表的元素,最后返回这个列表
:paramolist:
:return:slist
"""
slist=[]
ifisinstance(olist,list):
slen=len(olist[0])
foriinrange(slen):
s=0.0
fortempinolist:
ifisinstance(temp[i],(int,float)):
s+=temp[i]
else:
returnu'不是数字,无法求和'
else:
slist.append(s)
else:
returnslist
else:
returnu'输入与要求不符'

if__name__=='__main__':
alist=eval(raw_input(u'请输入一个多维数字的列表[[1,2],[3,4]]:'))
printsum_each_colum(alist)

F. python,编写一个函数,其参数为一个二维列表,使用循环讲其内部所有元素转换为

摘要 "this is the main function, can't accepts more parameters other then k and n.

G. Python二维数组运算

二维数组示例:
a=[[1,2,3],[4,5,6],[7,8,9]]
print a
print a[0]
print a[1]
print a[2]
print a[0][0],a[0][1],a[0][2]
sum=0
for i in range(0,3):
for j in range(0,3):
sum=sum+a[i][j]
print sum

H. 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 tablefor d1 in range(6):for d2 in range(6):table[d1][d2]= d1+d2+2print table123456程序的输出结果如下:
[[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 ] += 112345使用下标i选出表格中的行,用下标j从行中选出一列,得到单元格c。然后用fq统计频率。
这看起来非常的数学和规范。
Python提供了另外一种更简单一些的方式。
使用列表迭代器而非下标,表格是列表的列表,可以采用无下标的for循环遍历列表元素。
fq= 13 * [0]print fqfor row in table:for c in row:fq[c] += 1print fq[2:

I. python如何求二维列表中的最大值最小值平均值等

public class ArrayTest{

public static void main(String[] args) {

int[]array = new int[10];

System.out.print("由控制台生成的数组是:");

for (int i = 0; i < 10; i++ ){

array[i] = (int)((Math.random()*100)+1);//生成100以内的随机数

System.out.print(+array[i] + ",");

}

System.out.println();

int max = array[0]; // 把数据中的第1个元素存max

int min = array[0]; // 把数据中的第1个元素存min

int sum = array[0];

for(int i = 1;i<array.length;i++){ // 从第二个元素开始遍历数组

if(array[i]>max){ // 假如元素大于max 就把当前值赋值给max

max=array[i];

}

if(array[i]<min){ // 假如元素小于min 就把当前值赋值给min

min=array[i];

}

sum += array[i];

}

System.out.println("数组中的最大值:"+max);

System.out.println("数组中的最小值:"+min);

System.out.println("数组元素的和:"+sum);

System.out.println("数组元素的平均值:"+sum/array.length);

}

}

J. Python如何对二维数组求和

Python对二维数组求和的方法:首先定义好一个二维数组;然后使用map函数对数组里每一个元素进行sum操作即可对二维数组求和。

关于二维数组求和的几种方法:

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

方法一 sum(map(sum,a))

map(func,a) 函数是对a中的每一个元素进行sum操作

解释一下map函数, map(fund, a) equals [func(i) for i in a] and return a list

方法二 sum(sum(i) for i in a)

方法三 sum(sum(a[i]) for i in range(len(a)))

方法四 rece(lambda x,y:x+y , rece(lambda x,y:x+y, a))

解释一下rece(fun,a),rece返回的是一个结果值而不是一个list,第一步的时候是([1,2]+[3,4]) + [5,6]

得到一个[1,2,3,4,5,6], 然后进行的运算是(((((1+2)+3)+4)+5)+6) = 21

一般来说最常用的还是1和3这两种方法,不知道map or rece, 一般都会采用3, 而知道的应该会采用1,比较简洁。

推荐课程:Python核心基础(尚硅谷)

阅读全文

与python二维列表元素计数相关的资料

热点内容
程序员看不懂怎么办 浏览:271
linux操作系统题 浏览:765
单片机无符号数加法 浏览:227
应用隐藏加密怎么关闭 浏览:269
汽车空调的压缩机电线有什么用 浏览:429
电脑加密图片如何取消加密 浏览:340
慧净电子51单片机视频 浏览:343
javamap赋值 浏览:165
什么app可以玩掌机游戏 浏览:46
java简单聊天室 浏览:462
通用汽车编程软件 浏览:432
一级抗震框架梁箍筋加密区规定是多少 浏览:974
教你如何把安卓手机变成苹果 浏览:11
app编译分类 浏览:323
怎么用服务器的资源包 浏览:199
oa软件手机登陆服务器地址 浏览:289
androidrtp打包 浏览:723
信息被加密码了怎么办 浏览:420
弹出光盘命令 浏览:517
kdj公式源码分享 浏览:355