#python+java#同样功能的代码两种语言实现
概述:设置两个数组/列表,列表a是[1,2,3],列表b是[‘a‘,‘b‘,‘c‘],把他们一对一对打印出来,但不打印“3:c”这对。
python版:
‘‘‘ Created on 2014-11-2 @author: Administrator ‘‘‘ class MyArray: def __init__(self): self.a = range(1,4) self.b = [‘a‘,‘b‘,‘c‘] def getValue(self): tmp = {} for i in self.a: tmp[str(i)] = self.b[i-1] return tmp a = MyArray() x = a.getValue() for i in x: if i == ‘3‘:continue print "%s is :%s" % (i,x[i])
java版:
public class MyArray { public static void main(String[]args){ int[] a = new int[3]; char[] b = new char[]{‘a‘,‘b‘,‘c‘}; for(int i=0;i<3;i++){ a[i] = i+1; } for(int i=0;i<b.length;i++){ if(i==2){ continue; } System.out.println(a[i]+" is :"+b[i]); } } }
关于python版中的字典格式化:
参考:
In [1]: phonebook = {:123, :456, :789} In [2]: % phonebook Out[2]:
发觉不能用:"%s is : %(KEY)" % (STRING,DICT)这样格式的字典格式化字符串,而且在前例中,字典的键必须为字符串,否则无法格式化。
在写python版时,突然发现自己忘记了一件事:return会使函数返回值并令迭代或循环停止,所以这样的代码是有问题的:
def error(list): for i in list: if xxx:return xxx #只能输出一个值
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。