印趣云课堂-网校系统服务商

手机APP

微信公众号

python 这种列表循环迭代用何种算法处理? 云课堂问答

问题描述

r = [[1,2],[3,4],[5,6]]
循环处理列表r

def nn(x): return x*2

对r[0],r[1],r[2]列表内元素循环进行def nn处理,并组合成新列表的组合

list1=[nn(r[0][0]),r[0][1]] list2=[nn(r[0][0]),nn(r[0][1])] list3=[r[0][0],nn(r[0][1])] list4=[r[0][0],r[0][1]] listall=[list1,list2,list3,list4]

拿处理r[0]里的元素举例的话,应该是以下几种返回

list1=[nn(1),2] list2=[nn(1),nn(2)] list3=[1,nn(2)] list4=[1,2]

r列表的r[1]和r[2]依次类推

这类的循环处理有没有其他写法,我不晓得可以用哪种算法处理这类循环,请帮帮忙,谢啦

问题出现的环境背景及自己尝试过哪些方法

目前我尝试的就是全都列出来处理

提问者向太阳

添加回答

2回答
912683
6年前912683

大体看了下python内建函数map可以解决

赞同00个回复
婷
6年前

from itertools import product r = [[1,2],[3,4],[5,6]] def func(l, f): n = len(l) possible_combination = product(range(0, n), repeat=n) result = [] for i in possible_combination: # print(i) sub = l.copy() for index, value in enumerate(i): if value == 0: sub[index] = f(sub[index]) result.append(sub) return result print(func([1, 2], lambda x: x*2)) # Result result = [] for i in r: result.append(func(i, lambda x: x*2)) print(result)
赞同00个回复

相关问题

相关分类

请选择你的考试意向可选择1个考试 随时调整

test

外语考试

考研学历

教师公考

医药卫生

职业资格

财会经济

建筑工程

趣味测试

考研

IT

医疗教学

外语教学

数理逻辑

文学

点击查看更多考试 >

选好了