当前位置: 首页 > 知识库问答 >
问题:

zip输出中的值数目不正确?

耿敏达
2023-03-14

我一直在研究一个问题,这个问题涉及到取多个数字对,并创建某种形式的和循环,将每对相加。

我没有得到正确的输出数,例如输入了15对数字,只有8对输出。

这是我到目前为止的代码。。。

data = "917128 607663\
907859 281478\
880236 180499\
138147 764933\
120281 410091\
27737 932325\
540724 934920\
428397 637913\
879249 469640\
104749 325216\
113555 304966\
941166 925887\
46286 299745\
319716 662161\
853092 455361"

data_list = data.split(" ") # creating a list of strings

data_list_numbers = [] # converting list of strings to list of integers 
for d in data_list:
    data_list_numbers.append(int(d))

#splitting the lists into two with every other integer (basically to get the pairs again.
list_one = data_list_numbers[::2]   
list_two = data_list_numbers[1::2]

zipped_list = zip(list_one, list_two) #zipping lists 

sum = [x+y for x,y in zip(list_one, list_two)] # finding the sum of each pair

print(sum)

我错过了什么?

共有1个答案

澹台展鹏
2023-03-14

按如下方式引用输入字符串:“…”,删除反斜杠,然后使用re.split在空白处拆分。请注意,使用不带空格的反斜杠会导致data中的数字相互碰撞。就是这个,

"607663\
907859"

与:“607663907859”相同。

import re

data = """917128 607663
907859 281478
880236 180499
138147 764933
120281 410091
27737 932325
540724 934920
428397 637913
879249 469640
104749 325216
113555 304966
941166 925887
46286 299745
319716 662161
853092 455361"""

data_list = re.split(r'\s+', data) # creating a list of strings

data_list_numbers = [] # converting list of strings to list of integers 
for d in data_list:
    data_list_numbers.append(int(d))

#splitting the lists into two with every other integer (basically to get the pairs again.
list_one = data_list_numbers[::2]   
list_two = data_list_numbers[1::2]

zipped_list = zip(list_one, list_two) #zipping lists 

sum = [x+y for x,y in zip(list_one, list_two)] # finding the sum of each pair

print(sum)
# [1524791, 1189337, 1060735, 903080, 530372, 960062, 1475644, 1066310, 1348889, 429965, 418521, 1867053, 346031, 981877, 1308453]
 类似资料:
  • 问题内容: 我正在使用Python编写一些加密算法,但是我以前从未使用过Python。 首先,看一下这段代码,然后我将解释这个问题, x和y的值为, 我不明白代码的第三行。为了理解第三行,我不得不研究函数,我遇到了这个问题, zip函数帮助元组 根据这个问题的答案,代码, 将输出, 但是当我尝试打印时, 我得到这个输出, 为什么我的输出与原始输出不同? 问题答案: 在Python 3中返回一个迭代

  • 我有一个accdb文件。我正在使用ucanaccess api从我的Java项目连接到它并处理数据。(我没有MS Access,我在Java项目中使用ucanaccess作为引用库)。 但是,当我在SQL server中导入accdb文件并运行查询时,我遇到了一个奇怪的问题: 但是当我在ucanaccess中运行查询时,我会得到以下输出: 还有其他类似的不忠行为。与在SQL server中一样,对

  • 我使用全连接神经网络进行图像识别“MNIST”。 我的网络有784个输入神经元,一个隐层由1569个神经元组成,一个输出层由10个神经元组成。 我有两个问题: 如果隐层中神经元的加权和变得太大,结果是1,那么使用sigmoid是正确的吗?要初始化权重的值是什么?

  • 我花了将近3天的时间来找出为什么在一个大项目中 显示为“?”在另一个从头开始建造的项目中,它显示为“你好". 我正在使用IntellijIdea,但在使用 这两个项目之间唯一的两个区别是在构建系统中:第一个使用gradle,第二个不使用(只是一个简单的项目)。第二个区别是关于以下代码的输出 第一个输入“Charset.defaultCharset=windows-1252”,第二个输入“Chars

  • 我目前正在尝试使用C#生成和发送公共RSA密钥。它应该是PEM格式的2048位长的密钥。我已经成功地使用以下OpenSSL命令做到了这一点(一些输出被缩短): 以下代码是我使用C#生成公钥的代码: 可以从此线程中找到ExportPublicKeyToPEMFormat:https://stackoverflow.com/a/25591659/2383179 我在C#中的输出如下: 使用OpenSS

  • 我试图写一个代码来显示我的终端上(-3,-3)到(2,2)之间的数字的Mandelbrot集。主函数生成 守则: 分析函数接受虚平面上的坐标;并计算(Z^2)Z 50次;计算时,如果复数爆炸,则函数立即返回,否则函数在完成50次迭代后返回; 所以,我在分析60000(NX*NY)个数字 因此,输出出现反转,我浏览了 关于许多mandelbrot代码,但我无法理解这一行如何纠正我的输出。 我想我在将