2013-08-20 156 views
-2

有誰知道我可以從元組中括號中刪除一些vaue。從列表中刪除值python,沒有方括號

我有類似

def fun: 
    val1=re.findall(pattern1, html_stuff) 
    val2=re.findall(pattern2, html_stuff) 
    return val1,val2 

mylist=fun() 
print mylist[0] 
print mylist[1] 

這將返回

['stuff'] 
['more stuff'] 

我不能找出如何從[]


我建立刪除 '東西'一個新的元組

new_tup.append((id,name, my_list[0],my_list[1])) 

輸出看起來像

('99', 'Event', ['5/03/2000'] ,['150']) 

我希望它看起來像

('99', 'Event', '5/03/2000', '150') 

或東西,我可以堅持到源碼與

c.executemany('INSERT INTO events (id, name, date, cat) VALUES (?,?,?,?,?)', new_tup) 
+1

有什麼解決問題呢?你想要的最終數據結構是什麼? – Marcin

+0

're.findall()'返回一個匹配列表,如果你只想要一個匹配使用're.search()'。如果找到匹配項,這將爲您提供一個匹配對象,並且您可以在該匹配對象上使用'.group(0)'來從匹配中獲取文本。 –

+0

'fun'返回兩個元素-value'和'val2'的元組。所以,'mylist [0]'是'val1'。由於'val1'是一個匹配列表,'mylist [0]'是一個列表。你想擁有什麼? – abarnert

回答

1

每個的findall返回一個列表,所以你的函數返回一個列表元組。您可以通過索引列表

mylist=fun() 
new_tup.append((id,name, my_list[0][0],my_list[1][0])) 

或擴展的元組時的樂趣()返回

mylist1, mylist2 = fun() 
new_tup.append((id,name, my_list1[0],my_list2[0])) 
+0

謝謝,並且對於愚蠢的問題感到抱歉 – amchugh89