此問題與Check that list of tuples has tuple with 1st element as defined string類似,但沒有人正確回答「通配符」問題。檢查元組的第一個元素由指定字符串指定的元組列表
說我有[('A', 2), ('A', 1), ('B', 0.2)]
我想識別的元組的第一個元素是A.如何只返回以下?
[('A', 2), ('A', 1)]
此問題與Check that list of tuples has tuple with 1st element as defined string類似,但沒有人正確回答「通配符」問題。檢查元組的第一個元素由指定字符串指定的元組列表
說我有[('A', 2), ('A', 1), ('B', 0.2)]
我想識別的元組的第一個元素是A.如何只返回以下?
[('A', 2), ('A', 1)]
你可以使用Python的filter
功能這個如下:
l = [('A', 2), ('A', 1), ('B', 0.2)]
print filter(lambda x: x[0] == 'A', l)
給予:
[('A', 2), ('A', 1)]
使用列表理解:
>>> l = [('A', 2), ('A', 1), ('B', 0.2)]
>>> print([el for el in l if el[0] == 'A'])
[('A', 2), ('A', 1)]
這也適用。謝謝! – amc
夠簡單列表理解:
>>> L = [('A', 2), ('A', 1), ('B', 0.2)]
>>> [(x,y) for (x,y) in L if x == 'A']
[('A', 2), ('A', 1)]
這也適用!謝謝! – amc
大量使用過濾器和lambda函數。謝謝!並感謝您添加鏈接到其他問題!我將來會這麼做......(菜鳥錯誤)。 – amc