Py学习  »  Python

如何将python代码转换成Java

Sheeraz Abro • 5 年前 • 1740 次点击  

这个问题已经有了答案:

我一直致力于将Python代码转换成与我的研究工作相关的Java,我在Python中有一个查询。 伦恩 ()对象。我的问题出现在提供的代码中的[::-1]。

我曾尝试在Java中通过简单的增量循环来实现它,但它不起作用。它在temp_line.split(“$target/”)[1]处给出数组超出绑定的异常。

 for i in range(0, script_lines.__len__())[::-1]:
   temp_line = script_lines[i]
        if "$target/" in temp_line and "cp" in temp_line:
           Case_num = 1 + int(temp_line.split('$target/')[1].split('.txt')[0])
            return Case_num

我想知道代码中的[::-1 ]是什么意思,这样我就可以把它转换成Java。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39411
 
1740 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Diego Torres Milano
Reply   •   1 楼
Diego Torres Milano    5 年前

这是一条蟒蛇 扩展切片 .

例如,可以提取具有偶数索引的列表元素:

>>> L = range(10)
>>> L[::2]
[0, 2, 4, 6, 8]

负值还可以按相反顺序复制同一列表:

>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

这也适用于元组、数组和字符串:

>>> s='abcd'
>>> s[::2]
'ac'
>>> s[::-1]
'dcba'

有关详细信息,请访问 https://www.pythoncentral.io/how-to-slice-listsarrays-and-tuples-in-python/

Amadan
Reply   •   2 楼
Amadan    5 年前

x[::-1] 在python中,意思是“序列的所有元素” x 从最后一个开始,以第一个结束)。 range(y) 从中生成所有数字 0 y - 1 . 因此,您的行将生成从最后一个索引开始的索引 script_lines 到0。

不过,这不是一个很好的python代码——它创建了一个不需要的列表。使用 __len__ 这种方法也不受欢迎,因为它是一种给排水的方法;而是使用瓷器。 len 功能。一个更好的写作方法应该是

for i in range(len(script_lines) - 1, -1, -1):

(开始于 length - 1 ,到达前停止 -1 添加时 - 1 每次迭代。)但从 i 实际上在提取之后从未提及 temp_line 重写得更好

for temp_line in reversed(script_lines):

Java没有任何类似的东西 reversed ,因此您必须对索引使用循环:

for (int i = scriptLines.size() - 1; i >= 0; i--) {