![](/img/trans.png)
[英]List generated from For loop with .append() of another JSON data
[英]For Loop Append to list from another
我正在为我正在设计的游戏进行“全部提取”和“全部删除”。 玩家有一个清单(清单),每个房间都有自己的清单以跟踪里面的内容。 当它是特定项目时,我可以轻松地从相应列表中添加或删除该项目,但是对于所有项目而言,我不确定如何进行。 (注意:我不知道库存中有多少物品,因为随着玩家取放物品而改变)
ROOMNAMEinventory = ['lamp', 'coin']
inventory = ['string']
do = raw_input("What would you like to do?").upper()
if(do == 'drop all'):
for items in ROOMNAMEinventory:
inventory.append(items)
ROOMNAMEinventory.remove(items)
print inventory
print ROOMNAMEinventory
当前,此打印输出:
['string', 'lamp']
['coin']
None
为什么打印无?
Python中的List
支持将一个添加到另一个:
roomname_inventory = ['lamp', 'coin']
inventory = ['string']
do = raw_input("What would you like to do?").upper()
if (do == 'DROP ALL'):
inventory += roomname_inventory
roomname_inventory = []
print inventory
print roomname_inventory
但是,如果只想在迭代列表时放弃修改列表,则可以执行以下操作:
if (do == 'DROP ALL'):
while roomname_inventory:
inventory.append(roomname_inventory.pop(0))
这里有2个错误
ROOMNAMEinventory
的副本,不建议在迭代时修改列表:将列表更改为['string', 'lamp'] and ['coin']
:不是您想要的 固定代码:
ROOMNAMEinventory = ['lamp', 'coin']
inventory = ['string']
do = raw_input("What would you like to do?").upper()
if(do == 'DROP ALL'): # upper vs upper: could work :)
for items in ROOMNAMEinventory[::]: # iterate on a copy of the list
inventory.append(items)
ROOMNAMEinventory.remove(items)
print inventory
print ROOMNAMEinventory
结果(输入drop all
)
['string', 'lamp', 'coin']
[]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.