【发布时间】:2020-03-12 06:47:31
【问题描述】:
我正在尝试遍历一个字符串并获取所有数字,以便我可以将它们添加到另一个任务所需的列表中。我有多个递归地相互引用的函数,原始输入是一个数据列表。问题是,当我打印字符串时,我得到了正确的输出,但是如果我遍历它并打印所有索引,我会得到单独的数字,所以 1,1 而不是 11 或 9,3 而不是 93。有人有这个问题的简单解决方案?我在编程方面不是很有经验,所以这似乎是一个简单的任务,但我现在无法弄清楚。这是我的问题部分代码。
numbers = names.split('\t')[1].split(' ')[1]
print numbers
一些输出:
8
44
46
86
现在如果我使用以下代码:
numbers = names.split('\t')[1].split(' ')[1]
for i in numbers:
print i
我得到以下输出:
8
4
4
4
6
8
6
或者当我转换为列表时:
numbers = names.split('\t')[1].split(' ')[1]
print list(numbers)
输出:
['8']
['4', '4']
['4', '6']
['8', '6']
输入names 的结构如下:Andy Gray\t 2807 53
我还有很多名字,但它们的结构都是这样的。
然后我按\t 拆分以删除名称,然后再按' ' 拆分以获取数字。然后我有 2 个数字,并采用第二个索引来获取我想要的数字,即名称旁边的第二个数字。
我现在唯一的目标是获取“完整”数字,以便输出与我打印时一样。我需要能够以整数的形式获取这些数字的列表,其中每个索引都是完整的数字,所以[8,44,46,86] 等。然后我可以遍历这些数字并使用它们。一旦我能做到这一点,我就知道该怎么做,但我现在被困在这一点上。任何帮助都会很好。
链接到我正在使用的完整输入和 python 代码,以防它使事情更清楚:
【问题讨论】:
-
等一下,您想将数字 8 44 46 86 添加到 [8,44,46,86] 这样的列表中,对吧?
name的输入是什么 -
name的输入值是多少?? -
"`numbers = names.split('\t')[1].split(' ')[1]" 能不能解释一下,尤其是最后一个split()
-
为了更清楚一点,名称的输入是一个字符串,其中我有名称和数字,然后我删除了名称,所以我最终得到了数字。我可以发布更多代码,但我认为我的问题应该简短,因为我的目标相对简单。
-
如果您需要更多代码来更好地理解问题,请直说。我只是想我的代码解释要简洁明了。
标签: python string loops type-conversion integer