Python将map函数应用于子列表

时间:2013-05-08 19:43:31

标签: python map functional-programming

我有一个数组,其中包含另一个对象项:

myarray=[]
myarray.append((1,2,3))
myarray.append((4,5,6))

如何将map函数应用于列表的最后2列 有点像

def inc(x):
  return x+1

然后

myarray map (inc) # only to the last 2 columns (2,3) and (5,6)

简而言之,我想从

转换数据结构
((1,2,3))
((4,5,6))

((1,3,4))
((4,6,7))

感谢

编辑: 只是这样其他人可以从中得到适应我写的基于@alef响应的函数

def format_sub_list(_list,i):
  return [[y if i < len(x)-i else inc(y)
  for i, y in enumerate(x)]
  for x in _list]

def format_sub_list2(_list,sublist):
  return [[y if i in (sublist) else inc(y)
  for i, y in enumerate(x)]
  for x in _list]

2 个答案:

答案 0 :(得分:1)

[[y if i < len(x)-2 else inc(y)
  for i, y in enumerate(x)]
  for x in my_array]

答案 1 :(得分:1)

l[:-2] + tuple(map(inc, l[-2:]))