如何在python中追加一个整数

时间:2015-02-20 15:26:15

标签: python python-3.x

我有这个数组:

listPatients =   [[  "Johnson",   "Fred", "N", "2763 Filibuster Drive",  "Lakeland", "FL", "37643", "Q", "05/27/1935", "164-55-0726", "N"]] \
+                [[ "Williams",  "Betty", "L",    "701 Collage Avenue",   "Orlando", "FL", "31234", "F", "11/27/1971", "948-44-1038", "Y"]] \
+                [[     "Ling", "Hector", "X",     "1500 Raceway Lane",     "Tampa", "FL", "32785", "M", "10/17/2003", "193-74-0274", "Y"]] \
+                [[    "Albin",   "Ross", "L",      "207 Daisy Avenue",  "Lakeland", "FL", "32643", "M", "12/08/1990", "458-57-2867", "N"]] \
+                [[ "Anderson",  "Jason", "O",       "1527 Lewis Road",     "Tampa", "FL", "32785", "M", "11/25/1991", "093-50-1093", "Y"]] \
+                [[     "Baca",  "Edwin", "L",       "25 Hunters Lane",  "Lakeland", "FL", "32643", "M", "10/30/1992", "159-56-9731", "Y"]] \
+                [[   "Birner", "Dalton", "M",     "851 Applebe Court",   "Orlando", "FL", "31234", "M", "09/22/1993", "695-21-2340", "Y"]] \
+                [["Dominguez", "Javier", "B",   "1410 Waterford Blvd",   "Orlando", "FL", "31234", "M", "08/04/1994", "753-66-6482", "N"]] \
+                [[   "Aimino", "Nicolo", "S",      "2379 Runners Way",  "Lakeland", "FL", "32643", "M", "07/11/1995", "852-73-4196", "Y"]] \
+                [["Armstrong","Addison", "T",    "46 Hawthorne Drive",  "Lakeland", "FL", "32643", "M", "06/18/1996", "648-81-1456", "Y"]] \
+                [[    "Beard",    "Ian", "J",  "1814 Constitution Ct",   "Orlando", "FL", "31234", "M", "05/28/1997", "879-61-1829", "N"]] \
+                [[ "Calderon",  "Yamil", "C",         "345 Cigar Row",     "Tampa", "FL", "32785", "M", "04/07/1998", "123-87-6431", "Y"]] \
+                [[   "Carter", "Thomas", "P",       "896 Pine Avenue",        "Tampa", "FL", "32785", "M", "03/12/1999", "248-65-3197", "Y"]] \
+                [[  "Chaname",  "Bryan", "D",    "24 Blue Belt Drive",           "Lakeland", "FL", "32643", "M", "02/23/2000", "741-85-9632", "Y"]] \
+                [[   "Chaney", "Chaney", "Z",    "2589 College Court",     
"Orlando", "FL", "31234", "M", "01/15/2001", "963-25-7418", "Y"]]

我想追加年龄;这是采取生育年份后的计算(指数(数组(元素[7])))并从2015年减去它:

for patients in range(len(listPatients)):
    YOB=listPatients[patients][8][6]+listPatients[patients][8][7]
    +listPatients[patients][8][8]+listPatients[patients][8][9]
age= currentYear-int(YOB)
story4=patients.append(age)

输出说我不能附加整数。我该怎么办?

4 个答案:

答案 0 :(得分:1)

在您的代码中,patients是列表列表中的索引,而不是子列表本身,即您尝试附加到patients.append(age)的数字!相反,尝试迭代listPatients本身。此外,您可以使用切片[6:]而不是连接年份中的所有单个字符,或使用patients[8].split('/')[2]来获取年份。

for patients in listPatients:
    YOB = patients[8][6:] # or patients[8].split('/')[2]
    age = currentYear - int(YOB)
    patients.append(age)

此外,append不会返回任何内容,因此无论story4应该是什么,它都将始终为None

最后,您可以编写多行列表,如下所示:

listPatients =   [[  "Johnson",  ... stuff ..., "164-55-0726", "N"],
                  ... many more lines ...
                  [   "Chaney",  ... stuff ..., "963-25-7418", "Y"]]

答案 1 :(得分:1)

没有理由在这里使用range进行迭代。

for patient in listPatients:
    YOB=patient[8][-4:]
    age= currentYear-int(YOB)
    patient.append(age)
    story4=age

答案 2 :(得分:0)

在您的代码段中,patients int,其中没有append方法。

>>> range(len(['x','y','z']))
[0, 1, 2]

范围迭代器中的每个项都是一个整数。

答案 3 :(得分:-1)

您想要附加到列表患者元素,而不是它的范围:

for patients in range(len(listPatients)):
    YOB=listPatients[patients][8][6]+listPatients[patients][8][7]+listPatients[patients][8][8]+listPatients[patients][8][9]
    age= currentYear-int(YOB)
    story4=listPatients[patients].append(age)