[英]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
。
可迭代對象可以是list
, dict
, generator
對象等。
例如
>>> 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.