所以我有SteamApp對象的列表:爲您在列表中選擇特定項目不重複次數或找到()
>>> games
[<SteamApp "Counter-Strike: Global Offensive" (730)>, <SteamApp "XCOM: Enemy Unknown" (200510)>]
我也有這樣的一段代碼:
ownscs = []
if '"Counter-Strike: Global Offensive"' in games:
print('Owns CS')
ownscs.append(foo)
所有我想要做是檢查是否有人擁有反恐精英 但這裏來的問題癥結,列表遊戲是不可迭代的,並沒有屬性找到,如果我嘗試這兩個我得到:
if any('"Counter-strike: Global Offensive"' in s for s in games):
TypeError: argument of type 'SteamApp' is not iterable
和
if games.find('"Counter-strike: Global Offensive"') != -1:
AttributeError: 'SteamApp' object has no attribute 'find'
所以我的問題是:我如何檢查反恐精英列表遊戲:全球攻勢時,它顯然沒有可迭代的,也不容易找到。
我使用https://github.com/smiley/steamapi創建SteamApp對象,如果你想知道這是什麼。
您需要知道steamapp對象的屬性。試試'dir(steamapp)' – user193661
Python'list'是_always_可迭代的,所以這不是你的問題。也就是說,你的'遊戲= [']'行實際上並沒有創建一個列表。你是否試圖告訴我們該列表已經被初始化爲包含兩個'SteamApp'對象? –
@ KevinJ.Chase是的,這就是我的意思,甚至沒有兩個,但更多!該列表包含每個遊戲的SteamApp對象。 El'endia的映射答案確實有效! – Lyux