我想編寫一系列代碼(可能是func,循環等),以獲得每個列表的每個列表的前6個字符。Python - 選擇列表中的所有元素列表
它看起來像這樣: http://www.mackolik.com/AjaxHandlers/FixtureHandler.aspx?command=getMatches&id=3170&week=1
這是我的列表的第一個列表,第二可以在這裏找到:周= 2。
它經過11
除此之外,我的列表中的每個列表元素區分。
你能幫我一下還是想出點辦法吧。
我想編寫一系列代碼(可能是func,循環等),以獲得每個列表的每個列表的前6個字符。Python - 選擇列表中的所有元素列表
它看起來像這樣: http://www.mackolik.com/AjaxHandlers/FixtureHandler.aspx?command=getMatches&id=3170&week=1
這是我的列表的第一個列表,第二可以在這裏找到:周= 2。
它經過11
除此之外,我的列表中的每個列表元素區分。
你能幫我一下還是想出點辦法吧。
看起來你你有一個猥瑣的多層次數據的串式一覽的列表結構:
data = [
["[[342212,'21/02',,'MS'], [342276,'21/02',,'MS']]"],
["[[342246,'21/02',,'MS']]"]
]
,並要收集[342212, 342276, 342246]
。
要正確地做到這一點,您幾乎必須將每個字符串解析爲實際的數據結構;這是複雜的,因爲連續的逗號(,,
)不是有效的Python語法
import ast
def fix_string(s):
# '[,,,]'
s = s.replace("[,", "[None,") # '[None,,,]'
s = s.replace(",,", ", None,") # '[None, None,,]'
s = s.replace(",,", ", None,") # '[None, None, None,]'
s = s.replace(",]", ", None]") # '[None, None, None, None]'
return s
data = [ast.literal_eval(fix_string(s)) for row in data for s in row]
這讓我們
data = [
[
[342212,'21/02', None, 'MS'],
[342276,'21/02', None, 'MS']
],
[
[342246,'21/02', None, 'MS']
]
]
,那麼你可以收集值像
ids = [item[0] for batch in data for item in batch]
假設你有一個像
all_data = [['abcdef', 1213, 12.5], ['ghijkl', 'bla', 'foo', 'baz']]
first_items = [data[0] for data in all_data]
print(first_items)
列表的列表。如果你擁有的一切只爲一個字符串,每個子列表是由],[
跳入水中,沒有其他[]
支架,你可以:
all_data_raw = "[[342174,'25/02','MS',1655,'Vefa',537,'Centone Karagümrük',,4,1,0,,,,,,,,,0,0,0,0,'0 - 0',0],[342265,'25/02','MS',649,'Beykozspor 1908',3,'Beşiktaş',,4,1,0,,,,,,,,,0,0,0,0,'0 - 0',0]"
all_data = all_data_raw[2:-2].split('],[')
first_items = [data[:6] for data in all_data]
print(first_items)
如果您想對數據做更多的事情,那麼您應該對對象進行適當的導入。
有人可以解釋downvote以避免我犯的錯誤嗎? – 2015-02-09 14:42:42
謝謝塞巴斯蒂安,我沒有給這個消極的。您是否希望看到我的解決方案與您的解決方案非常相似:
maclar = list(hapta中的scrape_page(y)) maclar2 = [m [0] [0] [2:-2] .replace(「] ,[「,」;「)for maclar] maclar3 = maclar2.split(';') macvektor = [d [0:6] for maclar3]
但它沒有工作,因爲它沒有遞歸迭代。 –
2015-02-10 08:21:51
第二可找到哪裏? – reynoldsnlp 2015-02-09 14:24:20
@bepop我想這是http://www.mackolik.com/AjaxHandlers/FixtureHandler.aspx?command=getMatches&id=3170&week=2 – 2015-02-09 14:25:03
請指出你已經嘗試過什麼,以及你的問題在哪裏 – runDOSrun 2015-02-09 14:26:01