我有一个文件如下(最后一列与前一列之间随机有或多或少的空间(:
Name LastName Age
Adrian Smith 101
Martin Ville 82
Mary Morre 9
我只想提取年龄,这样我就可以把它们放在一个集合里。
到目前为止,我已经尝试过了,但我只得到随机的一位数:
age = set()
for line in f:
for i in line:
if i.isdigit():
age.update(i)
您得到的是一位数字,因为您一次只检查一位数字。例如,当代码到达第一个数字时,它将首先查看";1〃;,那么";0";然后";1〃;,并将它们分别作为单独的数字相加,而不是一个数字:101。
将每一行拆分为该行中每个单词的列表,然后将列表中的最后一个单词添加到您的集合中会更容易。您可以使用line.split(" ")
(这也会在列表中留下大量空字符串,因为有多个空格,但它们可以被忽略(。
age = set()
for idx, line in enumerate(f):
if idx == 0: # ignore first line
continue
line = line.split(" ")
number = int(line[-1])
age.add(number)