簡體   English   中英

如何在python / jython中執行此操作(用Java編碼)?

[英]How to do this (coded in java) in python/jython?

我仍在學習python / jython,請問傻問題,對不起。

我在Java中有這個for循環,但是我不知道如何在Python / Jython中編碼,因為它堅持使用“ in”。

for(String effectString : config.getStringList("string.list") {
// Do something

我試過了:

for effectString = config.getStringList("string.list"):

for effectString in config.getStringList("string.list"):

但是后來我意識到我沒有定義effectString,實際上effectString是config.getStringList(“ string.list”)...

預先感謝您的解釋,Amar!

如果config.getStringList("string.list")返回一個集合,則您的以下語法正確。

for effectString in config.getStringList("string.list"):

語法For循環

您可以在python中使用for循環對iterables進行iterables

可迭代對象可以是listdictgenerator對象等。

例如

>>> for num in [1, 2, 3, 4]:
...     print num    
1
2
3
4
>>> my_nums = ("0", "1", "2")
>>> for num in my_nums:
...     print num
0
1
2
>>> my_classes = [int, float, abs, str]
>>> for cls in my_classes:
...     print cls
<type 'int'>
<type 'float'>
<built-in function abs>
<type 'str'>

有關更多詳細信息,請查看Python Docs

這個語法:

for effectString in config.getStringList("string.list"):

是正確的。 在Python中使用for循環時,您會隱式創建一個局部變量。

在某些語言中, for (i=0; i<10; i++)可能是for循環的外觀。 在那里,您顯式初始化變量i ,以在循環體中使用。 在Python中, for something in iterable創建局部變量something

還值得注意的是,變量在循環完成后仍然存在:

>>> for i in range(10):
        pass
>>> print(i)
9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM