python如何输入数据形成列表_如何从输入数据创建二维列表?

在Python中创建二维列表,特别是从用户输入数据,可以采用多种方式。一种方法是逐步初始化列表,首先获取行数m和列数n,然后通过循环逐行和逐列填充数据。另一种更Pythonic的方式是利用列表推导式,预先创建一个全0的二维列表,再用用户输入的数据覆盖。这两种方法都在确保列表结构正确的情况下,实现了从输入数据构建二维列表的目标。
摘要由CSDN通过智能技术生成

你应该知道,当你试图执行像ar[i][j] = int(input())这样的赋值时,没有定义ar,有很多方法可以解决这个问题。< C/C++ +< /H2>

在C/C++中,我假设你会做这样的工作:#include

int main()

{

int m, n;

scanf("%d %d", &m, &n);

int **ar = new int*[m];

for(int i = 0; i < m; i++)

ar[i] = new int[n];

for(int i = 0; i < m; i++)

for(int j = 0; j < n; j++)

scanf("%d", &ar[i][j]);

// Do what you want to do

for(int i = 0; i < m; i++)

delete ar[i];

delete ar;

return 0;

}

在C/C++中通过{{CD3}}获得输入之前,您应该通过调用^ {< CD4>}或^ {CD5>}来分配存储,然后您可以执行^ {< CD3>},否则它会崩溃。

在Python中如何做到这一点<>这与你在C/C++中所做的非常相似,根据你的代码,当你试图执行赋值到{{CD7}}时,Python就不知道什么是{{CD1}}!所以你必须先让它知道。

不是Python的方式

一个非纵横的方式是在C/C++中做的事情:n = int(input())

m = int(input())

ar = []

for i in range(m):

ar.append([])

for j in range(n):

k = int(input())

ar[i].append(k)

for i in range(m):

for j in range(n):

print(ar[i][j])

你按{{CD9}}初始化列表,就像你在C/C++中所做的^ {CD10>}一样。对于2-D列表中的每一行,使用^ {CD11}}初始化行,就像C++中的{{CD12}}一样。然后,使用input获取数据并将其附加到ar[i]。

顽皮的方式

执行上述任务的方法不是很像Python,相反,您可以使用名为List Comprehensions的功能来完成,然后代码可以简化为:n = int(input())

m = int(input())

ar = [[0 for j in range(n)] for i in range(m)]

for i in range(m):

for j in range(n):

k = int(input())

ar[i][j] = k

for i in range(m):

for j in range(n):

print(ar[i][j])

请注意,核心ar = [[0 for j in range(n)] for i in range(m)]是一个列表理解,它创建一个具有m列表的列表,并且对于这些m列表的每个列表,它都具有n0s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值