这里是我写我的作业程序:的Python:如果到达结束列表
def codes(lst, cods):
lst1=[]
for element in lst:
cccc = element[0:4]
yyyy = element[4:8]
mm = element[8:10]
dd = element[10:12]
if cccc in cods:
lst1 += [cccc, int(dd), int(mm), int(yyyy)]
if cccc not in cods:
lst1 += [cccc + yyyy + mm + dd]
return lst1
first = ['Cara20130716', 'Tara20080601', 'PALA19961231', 'Melo19601023']
secnd = ['PALA', 'CARA', 'Tara']
print codes(first, secnd)
唯一的问题是,实际上老师要我添加/移除元素lst:我写的代码给了我确切的正确的输出,但它应该'返回'lst,而不是lst1。 因此,这里是我想了解该解决方案(对不起,伪代码..):
如果CCCC在鳕鱼: LST1 + = [CCCC,INT(DD),INT(毫米),INT(年)]
如果CCCC不是在鳕鱼: LST1 + = [CCCC + YYYY +毫米+ DD]
如果抵达LST的端: 与LST1替换LST
返回LST
因此,当该程序已签出LST的所有元素,它会像做
lst[:] = []
lst.extend.lst1
这可能吗?我该怎么做?
作业中的原始问题是什么? – RJFalconer 2014-10-10 08:33:06
我不确定'lst.extend.lst1'是否可以工作。 'extend'是一种方法,它应该得到一些列表元素。它可以像'lst.extend(lst1)'一样工作。而且你可以在你的函数中使用'extend'来代替+ =。 – cezar 2014-10-10 08:40:50