Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从总和等于11的列表列表中筛选列表_Python_Python 3.x_List - Fatal编程技术网

Python 从总和等于11的列表列表中筛选列表

Python 从总和等于11的列表列表中筛选列表,python,python-3.x,list,Python,Python 3.x,List,我对Python很在行。我有这样的列表,大约有50或60个子列表,这是正确的术语吗 [ ['a1', 'b3', 'c2', 'd5'] ['a1', 'b3', 'c2', 'd6'] ['a4', 'b3', 'c1', 'd3'] ... ] 我想过滤每个子列表之和等于11的列表 像 请有人帮帮我下面是如何使用sum和map进行操作: lambda表达式将类似“a4”的字符串转换为int 4,map函数将lambda应用于列表中的每个元素,而comprehension只

我对Python很在行。我有这样的列表,大约有50或60个子列表,这是正确的术语吗

[
  ['a1', 'b3', 'c2', 'd5']
  ['a1', 'b3', 'c2', 'd6']
  ['a4', 'b3', 'c1', 'd3']

  ...
]
我想过滤每个子列表之和等于11的列表

请有人帮帮我

下面是如何使用sum和map进行操作:

lambda表达式将类似“a4”的字符串转换为int 4,map函数将lambda应用于列表中的每个元素,而comprehension只将列表过滤到映射和为11的元素。

下面介绍如何使用sum和map:


lambda表达式将类似“a4”的字符串转换为int 4,map函数将lambda应用于列表的每个元素,而comprehension只将列表过滤到map之和为11的元素。

这不是就地解决方案

new_lst = []


for sub_list in lst:
    summ = 0
    for element in sub_list:
        summ += int(element[1])

    if summ == 11:
        new_lst.append(sub_list)

这不是一个现成的解决方案

new_lst = []


for sub_list in lst:
    summ = 0
    for element in sub_list:
        summ += int(element[1])

    if summ == 11:
        new_lst.append(sub_list)

StackOverflow不是免费的编码服务。你应该会的。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并选择:列表元素是否始终为一个字母和一个数字?或者你可以用x10吗?@在digitStackOverflow上加一个字母并不是免费的编码服务。你应该会的。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关更多信息,请参阅,并选择:列表元素是否始终为一个字母和一个数字?或者你可以用x10吗?@Bar一个字母和一个数字。我通常不赞成使用带有lambda的map或filter。suminti[1]for i in l不仅更短、可读性更强,而且理解理解/生成器对初学者更为有用。我通常不赞成使用带有lambda的map或filter。suminti[1]for i in l不仅篇幅更短,可读性更强,而且理解理解/生成器对初学者更为有用。
new_lst = []


for sub_list in lst:
    summ = 0
    for element in sub_list:
        summ += int(element[1])

    if summ == 11:
        new_lst.append(sub_list)