【发布时间】:2011-09-16 15:22:06
【问题描述】:
我对 Python 和它的库比较陌生,我想知道如何创建一个具有预设大小的字符串数组。在 java 中这很容易,但我想知道如何在 python 中做到这一点。
目前我能想到的只有
strs = ['']*size
当我尝试对其调用字符串方法时,调试器给了我一个错误 X 操作在对象元组中不存在。
如果它是在 java 中,这就是我想要做的。
String[] ar = new String[size];
Arrays.fill(ar,"");
请帮忙。
错误代码
strs[sum-1] = strs[sum-1].strip('\(\)')
AttributeError: 'tuple' object has no attribute 'strip'
问题:我怎样才能在 Python 中做我通常可以在 Java 中做的事情,同时仍然保持代码干净。
【问题讨论】:
-
你为什么要创建一个空字符串数组? Python 通常有更好的方法来处理字符串数组。
-
对于您的基本问题,请阅读:dirtsimple.org/2004/12/python-is-not-java.html
-
Python 在运行方面并没有慢。你只是不擅长编程。
-
没错。不良的 Java 习惯是不好的
-
意外的对。在 Python 中运行类似的代码会产生更高的开销(不管实现如何,只有确切的差异会发生变化),但这并不是因为您在 Python 上几乎无法运行的某些代码运行速度不如像样的 Java 程序那样快。展示你的代码,我可能会发现五件事可以优化它,同时实际上使它更惯用和可读。并且引用一个古老的比喻:你宁愿花五个小时让一个静态语言的程序运行并在一秒钟内完成它,还是在 10 分钟的脚本需要 10 秒的时候喝杯咖啡? ;)