Python 多维数组求下标

def list_index(List,sub_ele,Index=[],a=0):    
    for i in List: 
        print ‘search...‘+`Index`
        if  isinstance(i,list):                 
            Index.append(a)            
            x=list_index(i,sub_ele,Index,a=0)            
            if x:
               return x
            Index.pop()
        elif sub_ele == i:            
            Index.append(a)
            print ‘success:‘+`Index`
            return Index            
        a+=1
List=[‘a‘,‘i‘,[‘b‘,‘c‘],‘e‘,[‘f‘,[‘g‘,[‘z‘],[‘y‘,[‘k‘]],[‘j‘,[‘n‘,[‘m‘],‘w‘],‘x‘]],‘h‘],‘l‘]
sub_ele=‘y‘
print list_index(List,sub_ele)
时间: 2024-10-23 11:05:32

Python 多维数组求下标的相关文章

编程题:二维数组的下标意义

#include<stdio.h> void main() { int i,j,a[2][3],b[2][3]; for(i=0;i<2;i++) for(j=0;j<3;j++) a[i][j]=i; for(i=0;i<2;i++) for(j=0;j<3;j++) b[i][j]=j; printf("array a:\n"); for(i=0;i<2;i++) { for(j=0;j<3;j++) printf("%3d

二维数组求子数组之和最大值(首尾相接, 圆柱)

问题:求二维数组的子数组之和的最大值(首尾相接,即形成圆柱) 成员: 陈晨:负责代码复审和代码测试计划 王颖瑞:负责程序分析,代码编程 思路:对于这个问题,我们可以结合之前的实验(二维数组求子数组之和的最大值和首尾相连一维数组的子数组之和的最大值),把为二维数组的列扩大二倍,之后想一维数组(首尾相连)一样,把二维数组分成不同的几个二维数组.之后就分开求不同的二维数组的子数组的最大值,最后之间比较,求出总的最大值. 代码: #include<iostream> using namespace s

二维数组求最大子数组

设计思路: 首先定义产生二维数组,定义可输入二维数组行和列,各位数随机产生: 然后进行最大子数组的求和比较,从每行的第一个数为子数组的起点开始进行不同的子数组遍历比较,只存放最大的子数组,以及记录最大子数组的位置,从第一个数开始每行每列进行求和比较,以求得最大子数组的值,以及最大子数组所包含的数: 最后进行结果的输出与验证. 代码: 法一: package zishuzu; import java.util.*; public class zuixiaozishuzu { public stat

python 二维数组90°旋转

题目: 使用python生成一个4×4二维数组并将其顺时针旋转90° 源码如下: import random datarow=[] data=[] for i in range(4):     for j in range(4):         datarow.append(random.randint(10,80))     data.append(datarow)     datarow = [] print("data") for k in data:     print(k)

环形二维数组求最大子矩阵

1.设计思路 结合环一位数组的开发经验,拓展到二维.与前者主要是时间复杂度没有做处理. 2.源代码 1 //作者:王炳午.董龙洋.日期:2015.3.24. 2 #include <iostream> 3 #include<stdlib.h> 4 #include<time.h> 5 using namespace std; 6 int maxMax(int amax[]) //求最大 7 { 8 int i; 9 int sum = 0; 10 int max; 11

结对开发--四实现循环二维数组求最大子数组的和

一.实现思路 再上一个实验基础上加上环,我们实现环的思想是每一列依次向此替换,直至替换出能出现的所有的二维数组,再用上一个求最大子数组的方法全部实现 二.实验代码 package com.minirisoft; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.Scanner; public class HuanTwoArray { public stat

首尾相连的二维数组求最大字数组的和

题目: 返回一个二维整数数组中最大子数组的和. 要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. 思路:从第一行开始,加一行加两行,一直将所有的二维数组转换成几个一维数组,再将上次做的一维数组首尾相接最大字数组合做成函数调用. (1)代码: #include<iostream>using namespace std;#define N 4 void m

python二维数组

今天..好多不会的,慢慢补充 1.python的二维数组初始化 s = [[0 for i in range(3)]for i in range(3)] 这样就初始了一个3*3的二维数组 = [[0 for in range(col_numbers)] for i in range(rows_numbers)] 2. with open('test.txt','rb') as f: s = f.readline() s的结尾是带着\r\n的 所以使用 s.strip('\r\n') strip参

二维数组求最大子数组和(环形)

一.实验题目 返回一个二维数组中最大子数组的和. 实验要求: 输入一个二维整形数组,数组里有正数也有负数. 二维数组首尾相接,象个一条首尾相接带子一样. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值.要求时间复杂度为O(n). 二.实验思路 这次我们设计的实验是手动输入二维数组的行数和列数,二维数组的环形求和我们设计的思路和一位数组的类似,就是把求完的数组的第一列放到最后,依次类推.求最大的子数组和时和二维数组的求和类似,即:输入的二维数组是 -1