首页 > 编程问答 >关注子集的元素

关注子集的元素

时间:2024-07-26 11:49:04浏览次数:14  
标签:python python-3.x list subset

对编码相当陌生,我有一个关于列表和子集的问题。 假设这是我的列表:

list =
[[[a,2], [c,3], [e,3]],
[[g,4], [i,4] [k,3]],
[[b,3], [d,2], [f,2]]]

我将如何制作一个专注于索引 -1 (或数字)的新列表来将它们相加,如果总和超过 8 则不打印到新列表中,如果是少打印。

例如:
[a,2], [c,3],[e,3] sum 是 8,所以它会打印
[g,4],[i,4],[k,3] sum 是 11,所以它不会打印
[b,3], [d,2], [f,2] sum 是 7,所以它会打印

这个列表也将是更大,所以我想可能是一个循环,但不知道,任何建议都会有所帮助,谢谢

new_list = []
i = 0
while i < 10:
    if (list[i][0][-1] + list[i][1][-1] + list[i][2][2] < 8)
    print (list[i] in new_list) #dont think this is right
    i = i + 1
return

我以为这会再次循环,但得到了 3 行错误


可以使用列表推导来做到这一点:

list_ = [
    [['a',2], ['c',3], ['e',3]],
    [['g',4], ['i',4], ['k',3]],
    [['b',3], ['d',2], ['f',2]]
]

new_list = [sublist for sublist in list_ if sum(item[-1] for item in sublist) <= 8]

print(new_list)

这将:

  1. 遍历 list_ 中的每个子列表。
  2. 对于每个子列表,它使用列表推导 [item[-1] for item in sublist] 来提取每个子列表中每个项目的最后一个元素(数字)。
  3. 使用 sum() 函数对这些数字求和。
  4. 如果总和小于或等于 8,则将原始子列表包含在 new_list 中。

这将提供以下输出,这正是想要的:

[[['a', 2], ['c', 3], ['e', 3]], [['b', 3], ['d', 2], ['f', 2]]]

标签:python,python-3.x,list,subset
From: 78796157

相关文章

  • 【Python自动化办公】用Pandas库自动化操作Excel表格,从读取、写入到数据处理和分析
    文末免费赠送精品编程资料~~前言Python的第三方Pandas库是数据处理和分析中的利器,其强大的功能可以帮助我们轻松地对Excel表格进行自动化操作。接下来,我们将介绍九个用Pandas库操作Excel的编程例子,并且每个例子都会涉及不同的知识点,确保全面掌握这个主题。1.读取和写入E......
  • 总结24个Python接单赚钱平台与详细教程,兼职月入5000+
    如果说当下什么编程语言最靠谱或者比较适合搞副业?答案肯定100%是:Python。python是所有语法中最简单易上手的语言,不需要特别的的英语词汇量,逻辑思维也不需要很差就能上手。而且学会了之后就能编写代码爬取各种数据,制作各种图表,提升工作效率。而且还能利用业余时间接点私活......
  • python安装第三方库的国内镜像
    直接:pipconfigsetglobal.index-urlhttps://pypi.doubanio.com/simple设置了全局的第三方库的下载文件镜像请求网址。安装第三方库:pipinstallscrapy--scrapy第三方库名称 pip从国内镜像安装的命令使用中国大陆地区的Python包镜像服务时,可以通过修改p......
  • 如何将Python嵌入.Net?
    我尝试基于文档此处和此处使用pythonnet将Python嵌入到.Net中。这是我的代码Runtime.PythonDLL=@"D:\Dev\Console\.conda\python311.dll";PythonEngine.Initialize();dynamicsys=Py.Import("sys");Console.WriteLine("Pythonversion:&quo......
  • 使用pybind11封装c++的dll,供python调用
    用pip安装好pybind11 文件清单,都写在一个目录里//文件名:add.cppextern"C"doubleadd(doublein1,doublein2){returnin1+in2;}//文件名:sub.cppextern"C"doublesub(doublein1,doublein2){returnin1-in2;}//文件名:mul.cppextern"......
  • python-myStudyList
     1  下载软件1.1下载python最新版本并安装下载地址:百度搜索python官网。WelcometoPython.org。 1.2官网学习网页:PythonTutorials–RealPython   1.3也可以下载集成环境软件Anaconda。 Anaconda软件商城官方正版免费下载(msc23.cn) 2 ......
  • Python语法基础
    基本语句输入input() eg:输出print(内容)注释单行注释:#注释内容多行注释:"""注释内容"""数据类型: 字面量:整型、浮点数、字符串......intfloatstring查看数据类型:type(数据)查看数据类型 转换函数int(x):将x转换成整数类型float(x):将x转......
  • PyTesseract 不提取文本?我是所有这些Python的新手,请需要h3lp
    它不想从图像中提取文本,就像终端保持黑色并带有空格,就像它实际上试图提取文本一样,这是我的代码和图像从PIL导入图像导入pytesseract导入CV2“C:\用户\埃米利亚诺\下载\practic.png”pytesseract.pytesseract.tesseract_cmd="C:\ProgramFiles\Tesseract-OCR\tesseract.exe......
  • Python安装第三方库
    Python安装PILPIL(PythonImagingLibrary)是一个旧的Python库,用于处理图像。然而,PIL已经不再维护,并被一个名为Pillow的库所取代。Pillow是PIL的一个分支,并且完全兼容PIL。建议使用Pillow而不是PIL。pipinstallpillowPython安装moviepymoviepy是一个用于视频编辑的Python库,......
  • 优化Python中图像中的OCR文本检测
    我目前正在用python编写一个程序,该程序获取包含大量文本的图像,将其提取到.txt文件,然后将找到的单词与另一个文件中的单词列表进行比较,并创建一些坐标(根据像素)在图像中找到的单词中,如果找到图像,则会在图像中绘制红色方块。到目前为止,我已经正确处理了坐标部分,在单词周围绘制了......