0

我有一个包含另一个对象项目的数组:

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

如何将地图功能应用于列表的最后两列,例如

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]
4

2 回答 2

1
[[y if i < len(x)-2 else inc(y)
  for i, y in enumerate(x)]
  for x in my_array]
于 2013-05-08T19:55:23.817 回答
1
l[:-2] + tuple(map(inc, l[-2:]))
于 2013-05-08T19:59:17.137 回答