导航:首页 > 编程语言 > python二维list赋值

python二维list赋值

发布时间:2022-07-13 07:25:32

python中,如何将list中的各个值快速赋值给变量

Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。

例 3.24. List 解析介绍

>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]

为了便于理解它,让我们从右向左看。li 是一个将要映射的 list。Python 循环遍历 li 中的每个元素。对每个元素均执行如下操作:首先临时将其值赋给变量 elem,然后 Python 应用函数 elem*2 进行计算,最后将计算结果追加到要返回的 list 中。

需要注意是,对 list 的解析并不改变原始的 list。

将一个 list 的解析结果赋值给对其映射的变量是安全的。不用担心存在竞争情况或任何古怪事情的发生。Python 会在内存中创建新的 list,当对 list 的解析完成时,Python 将结果赋给变量。

From <dive into python>

② python列表赋值问题

list1和list2只是引用,它们指向同一个列表对象,该列表对象的内容改变后,不论通过哪一个引用去访问,结果肯定也改变了。

③ python怎么把list依次赋值

import List2=.deep(List1)这样赋值,List2初始值和List1一样,因为是深度复制List1中的元素,所有深层元素都引用的是不同的对象,List1的任何改变不会影响List2

④ python二维数组怎么朝里面填数据

你可以定义一个嵌套的list
表示一个二维数组,并初始化为这样:

1
2

score = [[0]*3, [0]*3,[0]*3]
print score

这样在循环外就能方便的访问每个元素了。

⑤ python的二维list问题

list 的 乘法是将里面的对象复制了一遍,并没有创建新的对象(object)。比方说


b = [1, 2, 3]


b 是一个 list 对象,如果


a = [b]*3

那么a就是一个包含三个 b 的列表,这个列表中的每一个对象都是b,所以你修改任意一个对象,实际都是在修改 b本身。用 id() 可以查看对象id,你可以发现a中的每一个元素都是同一个id

>>>b=[0,0,0]
>>>id(b)
47599855534232
>>>a=[b]*3
>>>a
[[0,0,0],[0,0,0],[0,0,0]]
>>>id(a)
47599860614424
>>>id(a[0])
47599855534232
>>>id(a[1])
47599855534232
>>>id(a[2])
47599855534232
>>>id(a[2])==id(b)
True

如果你想a中每一个元素都是不同的对象,可以用下面的代码:

a=[[0]*3foriinrange(3)]

⑥ python 如何定义动态二维数组

追加字符串行表主要的二维列表。由于多维名单基本上列出清单,一个两维的名单将代表一个单一的清单,其中包含其他列表。 .,因为Python列表是动态的,首先你可以使用“追加”功能容易添加和删除其他列表:

⑦ 一些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)]

⑧ 如何在python中创建二维列表

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

创建例子如下:

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

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

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

⑨ 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);

}

}

⑩ 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:

阅读全文

与python二维list赋值相关的资料

热点内容
通达oa2015工作流源码 浏览:539
服务器云解析id锁 浏览:556
完结小说txt下载 浏览:574
程序员怎么给孩子讲故事 浏览:945
影视网站你懂 浏览:711
动态表情去白底用哪个app好 浏览:982
云服务器淘宝秒杀脚本 浏览:697
枚举法求最小公倍数的程序算法 浏览:121
免费的小电影网站 浏览:716
福建牧野慢走丝编程 浏览:917
快播电影网在线观看 浏览:125
陈冲电影面子下载 浏览:118
什么app可以自己画自己的画 浏览:817
彼时曾相伴微电影完整版 浏览:257
atmel编程符号 浏览:918
机甲类电影前十名 浏览:939
第一个程序员等级 浏览:348
java服务器高级编程 浏览:877
午马演的和尚还有外国神父的电影 浏览:234
厌烦命令 浏览:626