在列表中的索引 [1] 上查找具有相同值的列表
find lists with the same value on index [1] in list
我在列表中有一个列表,想找到索引 [1] 上具有相同值的所有列表。列表中的列表始终具有相同的长度。
list = [['10302', '118073', 'So, 07.02.2021', '302'], ['10301', '118074', 'So, 07.02.2021', '301'], [' 10032', '118075', 'So, 07.02.2021', '32'], ['10032', '118076', 'So, 07.02.2021', '32'], ['10032', '118077', 'So, 07.02.2021', '32'], ['10032', '118078', 'So, 07.02.2021', '32'], ['10032', '118079', 'So, 07.02.2021', '32'], [' 10032', '118080', 'So, 07.02.2021', '32'], ['10411', '118081', 'So, 07.02.2021', '411'], ['10402', '118082', 'So, 07.02.2021', '402'], ['10302', '118083', 'So, 14.02.2021', '302'], ['10301', '118084', 'So, 14.02.2021', '301'], [' 10032', '118085', 'So, 14.02.2021', '32'], ['10032', '118086', 'So, 14.02.2021', '32'], ['10032', '118087', 'So, 14.02.2021', '32'], ['10032', '118088', 'So, 14.02.2021', '32'], ['10032', '118089', 'So, 14.02.2021', '32'], [' 10032', '118090', 'So, 14.02.2021', '32'], ['10034', '118091', 'So, 14.02.2021', '34'], ['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092', 'So, 21.02.2021', '411'], ['10402', '118093', 'So, 14.02.2021', '402'], [' 10005', '118095', 'Mo, 15.02.2021', '5'], ['10314', '118096', 'Mo, 15.02.2021', '314'], ['10313', '118097', 'Mo, 15.02.2021', '313'], ['10312', '118098', 'Mo, 15.02.2021', '312'], ['10035', '118099', 'Mo, 15.02.2021', '35'], [' 10030', '118100', 'Mo, 15.02.2021', '3 0'], ['10302', '118101', 'So, 21.02.2021', '302'], ['10301', '118102', 'So, 21.02.2021', '301'], ['10411', ' 118103', 'So, 21.02.2021', '411'], ['10402', '118104', 'So, 21.02.2021', '402'], ['10214', '118105', 'So, 28.02.2021', ' 214'], ['10005', '118106', 'So, 28.02.2021', '5'], ['10314', '118107', 'So, 28.02.2021', '314'], ['10313', ' 118108', 'So, 28.02.2021', '313'], ['10312', '118109', 'So, 28.02.2021', '312'], ['10302', '118110', 'So, 28.02.2021', ' 302'], ['10301', '118111', 'So, 28.02.2021', '301'], ['10311', '118112', 'So, 28.02.2021', '311'], ['10035', ' 118113', 'So, 28.02.2021', '35'], ['10030', '118114', 'So, 28.02.2021', '30'], ['10032', '118115', 'So, 28.02.2021', ' 32'], ['10032', '118116', 'So, 28.02.2021', '32'], ['10032', '118117', 'So, 28.02.2021', '32'], ['10032', ' 118118', 'So, 28.02.2021', '32'], ['10032', '118119', 'So, 28.02.2021', '32'], ['10032', '118120', 'So, 28.02.2021', ' 32'], ['10358', '118121', 'So, 28.02.2021', '358'], ['10350', '118122', 'So, 28.02.2021', '350'], ['10352', ' 118123', 'So, 28.02.2021', '352'], ['10359', '118124', 'So, 28.02.2021', '359'], ['10412', '118125', 'So, 28.02.2021', ' 412'], ['10411', '118126', 'So, 28.02.2021', '411'], ['10408', '118127', 'So, 28.02.2021', '408'], ['10402', ' 118128', 'So, 28.02.2021', '402' ], ['10801', '118129', 'So, 28.02.2021', '801'], ['10818', '118130', 'So, 28.02.2021', '818'], ['10817', '118131' , 'So, 28.02.2021', '817']]
result = [['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092 ', 'So, 21.02.2021', '411']
我喜欢用这种分组问题的习惯用法是使用dict
of lists
,其中键是列表的相关元素,值是列表本身。在这种情况下,我们的键是每个元素的 lst[1]
。
bigList = [['10302', '118073', 'So, 07.02.2021', '302'], ['10301', '118074', 'So, 07.02.2021', '301'], ['10032', '118075', 'So, 07.02.2021', '32'], ['10032', '118076', 'So, 07.02.2021', '32'], ['10032', '118077', 'So, 07.02.2021', '32'], ['10032', '118078', 'So, 07.02.2021', '32'], ['10032', '118079', 'So, 07.02.2021', '32'], ['10032', '118080', 'So, 07.02.2021', '32'], ['10411', '118081', 'So, 07.02.2021', '411'], ['10402', '118082', 'So, 07.02.2021', '402'], ['10302', '118083', 'So, 14.02.2021', '302'], ['10301', '118084', 'So, 14.02.2021', '301'], ['10032', '118085', 'So, 14.02.2021', '32'], ['10032', '118086', 'So, 14.02.2021', '32'], ['10032', '118087', 'So, 14.02.2021', '32'], ['10032', '118088', 'So, 14.02.2021', '32'], ['10032', '118089', 'So, 14.02.2021', '32'], ['10032', '118090', 'So, 14.02.2021', '32'], ['10034', '118091', 'So, 14.02.2021', '34'], ['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092', 'So, 21.02.2021', '411'], ['10402', '118093', 'So, 14.02.2021', '402'], ['10005', '118095', 'Mo, 15.02.2021', '5'], ['10314', '118096', 'Mo, 15.02.2021', '314'], ['10313', '118097', 'Mo, 15.02.2021', '313'], ['10312', '118098', 'Mo, 15.02.2021', '312'], ['10035', '118099', 'Mo, 15.02.2021', '35'], ['10030', '118100', 'Mo, 15.02.2021', '30'], ['10302', '118101', 'So, 21.02.2021', '302'], ['10301', '118102', 'So, 21.02.2021', '301'], ['10411', '118103', 'So, 21.02.2021', '411'], ['10402', '118104', 'So, 21.02.2021', '402'], ['10214', '118105', 'So, 28.02.2021', '214'], ['10005', '118106', 'So, 28.02.2021', '5'], ['10314', '118107', 'So, 28.02.2021', '314'], ['10313', '118108', 'So, 28.02.2021', '313'], ['10312', '118109', 'So, 28.02.2021', '312'], ['10302', '118110', 'So, 28.02.2021', '302'], ['10301', '118111', 'So, 28.02.2021', '301'], ['10311', '118112', 'So, 28.02.2021', '311'], ['10035', '118113', 'So, 28.02.2021', '35'], ['10030', '118114', 'So, 28.02.2021', '30'], ['10032', '118115', 'So, 28.02.2021', '32'], ['10032', '118116', 'So, 28.02.2021', '32'], ['10032', '118117', 'So, 28.02.2021', '32'], ['10032', '118118', 'So, 28.02.2021', '32'], ['10032', '118119', 'So, 28.02.2021', '32'], ['10032', '118120', 'So, 28.02.2021', '32'], ['10358', '118121', 'So, 28.02.2021', '358'], ['10350', '118122', 'So, 28.02.2021', '350'], ['10352', '118123', 'So, 28.02.2021', '352'], ['10359', '118124', 'So, 28.02.2021', '359'], ['10412', '118125', 'So, 28.02.2021', '412'], ['10411', '118126', 'So, 28.02.2021', '411'], ['10408', '118127', 'So, 28.02.2021', '408'], ['10402', '118128', 'So, 28.02.2021', '402'], ['10801', '118129', 'So, 28.02.2021', '801'], ['10818', '118130', 'So, 28.02.2021', '818'], ['10817', '118131', 'So, 28.02.2021', '817']]
lists = {}
for lst in bigList:
lists.setdefault(lst[1], [])
lists[lst[1]].append(lst)
result = lists['118092']
# [['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092', 'So, 21.02.2021', '411']]
一旦我们将大列表排序为列表列表共享第二元素的字典,我们就可以挑选出特定的列表和第二元素(例如 lists['118092']
对于索引为 1 的所有列表),或通过 list(lists.values())
.
获取按索引 1 处的值分组的三重嵌套列表
我在列表中有一个列表,想找到索引 [1] 上具有相同值的所有列表。列表中的列表始终具有相同的长度。
list = [['10302', '118073', 'So, 07.02.2021', '302'], ['10301', '118074', 'So, 07.02.2021', '301'], [' 10032', '118075', 'So, 07.02.2021', '32'], ['10032', '118076', 'So, 07.02.2021', '32'], ['10032', '118077', 'So, 07.02.2021', '32'], ['10032', '118078', 'So, 07.02.2021', '32'], ['10032', '118079', 'So, 07.02.2021', '32'], [' 10032', '118080', 'So, 07.02.2021', '32'], ['10411', '118081', 'So, 07.02.2021', '411'], ['10402', '118082', 'So, 07.02.2021', '402'], ['10302', '118083', 'So, 14.02.2021', '302'], ['10301', '118084', 'So, 14.02.2021', '301'], [' 10032', '118085', 'So, 14.02.2021', '32'], ['10032', '118086', 'So, 14.02.2021', '32'], ['10032', '118087', 'So, 14.02.2021', '32'], ['10032', '118088', 'So, 14.02.2021', '32'], ['10032', '118089', 'So, 14.02.2021', '32'], [' 10032', '118090', 'So, 14.02.2021', '32'], ['10034', '118091', 'So, 14.02.2021', '34'], ['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092', 'So, 21.02.2021', '411'], ['10402', '118093', 'So, 14.02.2021', '402'], [' 10005', '118095', 'Mo, 15.02.2021', '5'], ['10314', '118096', 'Mo, 15.02.2021', '314'], ['10313', '118097', 'Mo, 15.02.2021', '313'], ['10312', '118098', 'Mo, 15.02.2021', '312'], ['10035', '118099', 'Mo, 15.02.2021', '35'], [' 10030', '118100', 'Mo, 15.02.2021', '3 0'], ['10302', '118101', 'So, 21.02.2021', '302'], ['10301', '118102', 'So, 21.02.2021', '301'], ['10411', ' 118103', 'So, 21.02.2021', '411'], ['10402', '118104', 'So, 21.02.2021', '402'], ['10214', '118105', 'So, 28.02.2021', ' 214'], ['10005', '118106', 'So, 28.02.2021', '5'], ['10314', '118107', 'So, 28.02.2021', '314'], ['10313', ' 118108', 'So, 28.02.2021', '313'], ['10312', '118109', 'So, 28.02.2021', '312'], ['10302', '118110', 'So, 28.02.2021', ' 302'], ['10301', '118111', 'So, 28.02.2021', '301'], ['10311', '118112', 'So, 28.02.2021', '311'], ['10035', ' 118113', 'So, 28.02.2021', '35'], ['10030', '118114', 'So, 28.02.2021', '30'], ['10032', '118115', 'So, 28.02.2021', ' 32'], ['10032', '118116', 'So, 28.02.2021', '32'], ['10032', '118117', 'So, 28.02.2021', '32'], ['10032', ' 118118', 'So, 28.02.2021', '32'], ['10032', '118119', 'So, 28.02.2021', '32'], ['10032', '118120', 'So, 28.02.2021', ' 32'], ['10358', '118121', 'So, 28.02.2021', '358'], ['10350', '118122', 'So, 28.02.2021', '350'], ['10352', ' 118123', 'So, 28.02.2021', '352'], ['10359', '118124', 'So, 28.02.2021', '359'], ['10412', '118125', 'So, 28.02.2021', ' 412'], ['10411', '118126', 'So, 28.02.2021', '411'], ['10408', '118127', 'So, 28.02.2021', '408'], ['10402', ' 118128', 'So, 28.02.2021', '402' ], ['10801', '118129', 'So, 28.02.2021', '801'], ['10818', '118130', 'So, 28.02.2021', '818'], ['10817', '118131' , 'So, 28.02.2021', '817']]
result = [['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092 ', 'So, 21.02.2021', '411']
我喜欢用这种分组问题的习惯用法是使用dict
of lists
,其中键是列表的相关元素,值是列表本身。在这种情况下,我们的键是每个元素的 lst[1]
。
bigList = [['10302', '118073', 'So, 07.02.2021', '302'], ['10301', '118074', 'So, 07.02.2021', '301'], ['10032', '118075', 'So, 07.02.2021', '32'], ['10032', '118076', 'So, 07.02.2021', '32'], ['10032', '118077', 'So, 07.02.2021', '32'], ['10032', '118078', 'So, 07.02.2021', '32'], ['10032', '118079', 'So, 07.02.2021', '32'], ['10032', '118080', 'So, 07.02.2021', '32'], ['10411', '118081', 'So, 07.02.2021', '411'], ['10402', '118082', 'So, 07.02.2021', '402'], ['10302', '118083', 'So, 14.02.2021', '302'], ['10301', '118084', 'So, 14.02.2021', '301'], ['10032', '118085', 'So, 14.02.2021', '32'], ['10032', '118086', 'So, 14.02.2021', '32'], ['10032', '118087', 'So, 14.02.2021', '32'], ['10032', '118088', 'So, 14.02.2021', '32'], ['10032', '118089', 'So, 14.02.2021', '32'], ['10032', '118090', 'So, 14.02.2021', '32'], ['10034', '118091', 'So, 14.02.2021', '34'], ['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092', 'So, 21.02.2021', '411'], ['10402', '118093', 'So, 14.02.2021', '402'], ['10005', '118095', 'Mo, 15.02.2021', '5'], ['10314', '118096', 'Mo, 15.02.2021', '314'], ['10313', '118097', 'Mo, 15.02.2021', '313'], ['10312', '118098', 'Mo, 15.02.2021', '312'], ['10035', '118099', 'Mo, 15.02.2021', '35'], ['10030', '118100', 'Mo, 15.02.2021', '30'], ['10302', '118101', 'So, 21.02.2021', '302'], ['10301', '118102', 'So, 21.02.2021', '301'], ['10411', '118103', 'So, 21.02.2021', '411'], ['10402', '118104', 'So, 21.02.2021', '402'], ['10214', '118105', 'So, 28.02.2021', '214'], ['10005', '118106', 'So, 28.02.2021', '5'], ['10314', '118107', 'So, 28.02.2021', '314'], ['10313', '118108', 'So, 28.02.2021', '313'], ['10312', '118109', 'So, 28.02.2021', '312'], ['10302', '118110', 'So, 28.02.2021', '302'], ['10301', '118111', 'So, 28.02.2021', '301'], ['10311', '118112', 'So, 28.02.2021', '311'], ['10035', '118113', 'So, 28.02.2021', '35'], ['10030', '118114', 'So, 28.02.2021', '30'], ['10032', '118115', 'So, 28.02.2021', '32'], ['10032', '118116', 'So, 28.02.2021', '32'], ['10032', '118117', 'So, 28.02.2021', '32'], ['10032', '118118', 'So, 28.02.2021', '32'], ['10032', '118119', 'So, 28.02.2021', '32'], ['10032', '118120', 'So, 28.02.2021', '32'], ['10358', '118121', 'So, 28.02.2021', '358'], ['10350', '118122', 'So, 28.02.2021', '350'], ['10352', '118123', 'So, 28.02.2021', '352'], ['10359', '118124', 'So, 28.02.2021', '359'], ['10412', '118125', 'So, 28.02.2021', '412'], ['10411', '118126', 'So, 28.02.2021', '411'], ['10408', '118127', 'So, 28.02.2021', '408'], ['10402', '118128', 'So, 28.02.2021', '402'], ['10801', '118129', 'So, 28.02.2021', '801'], ['10818', '118130', 'So, 28.02.2021', '818'], ['10817', '118131', 'So, 28.02.2021', '817']]
lists = {}
for lst in bigList:
lists.setdefault(lst[1], [])
lists[lst[1]].append(lst)
result = lists['118092']
# [['10411', '118092', 'So, 14.02.2021', '411'], ['10411', '118092', 'So, 21.02.2021', '411']]
一旦我们将大列表排序为列表列表共享第二元素的字典,我们就可以挑选出特定的列表和第二元素(例如 lists['118092']
对于索引为 1 的所有列表),或通过 list(lists.values())
.