これまでに質問されているかどうかはわかりませんが、ヘルプが見つかりませんでした。 私はオブジェクトの2次元リストを持っているゲームを構築しています。inventory
とと呼ぶことができます。私はそれらを比較し、私がすでに持っているものを見なければならない。アイテムは、名前、量、およびディスクリプションがあるリストです。2次元のリストオブジェクトを比較する
ownd = []
for item in self.inv:
if item[0].name in loot:
ownd.append(item)
のようなものを考えていた
[0]が、私はこれを行う方法を見つけ出すことはできませんbrainblockか何か原因があります。誰か助けてくれるか、私を正しい方向へ押し込んでくれましたか?ありがとう!!
ps。私はあなたの人の一部が愚かな簡単な質問としてこれを参照してください知っているが真剣に私は立ち往生して助けが必要です!
EDIT:クラスから
もっとコード:
class Inventory(object):
inv = []
def __init__(self, name):
self.ownr = name
self.loc = "player_data/" + name
def add_item(self, item, amount):
for obj in self.inv:
if obj[0].name == item.name:
obj[1] = obj[1] + amount
return 1
self.inv.append([item, amount])
return 0
def compare_to_loop(self, loot, amount):
ownd = []
for item in self.inv:
if item[0].name in loot:
ownd.append(item)
return ownd
「self」はどこから来ますか?あなたは 'inv'と 'loot'データ構造のいくつかの例を投稿していますか? –
どのように内部リストを比較したいですか?特定の要素によって、またはそれらのすべてによって? – RobertR
部品を正しくコピーしていないことが判明しました。修正されました。 名前を比較し、同じ名前のアイテムをowndリストに追加することです。 – Duzzz