我試圖獲取某些數據中某些元素的索引。我想查找'b'和'c'的所有實例,並將它們的索引放在'position_b'和'position_c'中。這是我寫的代碼,我用得到的錯誤:Python AttributeError:'list'對象沒有屬性'startswith'
data = [['a', 'b', 'c'], ['a', 'a', 'a'], ['b', 'c', 'c'], ['d', 'b', 'f'], ['g', 'c', 'i']]
position_b, position_c = [], []
for line in data:
if data.startswith("b"):
position_b.append(line.index("b"))
elif data.startswith("c"):
position_c.append(line.index("c"))
在數據上面顯示,某些行不會有B或C,有的線路將同時擁有。
我最初嘗試'索引',但是這給了'substring not found'錯誤,因爲有些列表沒有'b'或'c'。然後,我從答案here嘗試'startswith',但是這給了我錯誤'AttributeError:'list'object has no attribute'startswith''我現在明白了startswith不能與列表對象一起工作。我可以用什麼來查找和索引列表中的'b'或'c'?
所需的輸出:
position_b = [1, 0, 1]
position_c = [2, 1, 2, 1]
列表沒有startswith方法。請查閱文檔,以獲得像這樣的問題 – Carcigenicate
請刪除所有不需要的代碼以重現代碼中的錯誤。 'line.split()'返回'['a','b','c'] ['d','b','f'] ['g','c','我'(那是什麼?一串?),請提供準確的信息。總之,提供一個[mcve](沒有'gzip','sys'和其他所有與您試圖解決的異常無關的問題)。 – MSeifert
數據是字符串列表還是列表列表,例如:'data = [['a','b','c'],['a','a','a']]'? –