首页 > 其他分享 >列表和字典过滤器

列表和字典过滤器

时间:2024-07-22 11:06:46浏览次数:4  
标签:name gender age 列表 user 过滤器 users 字典

列表相关的过滤器

 

# 取第一个元素 #}
<p>{{ [1,2,3] | first }}</p>
{# 取最后一个元素 #}
<p>{{ [1,2,3] | last }}</p>
{# 返回列表长度,可以写为count #}
<p>{{ [1,2,3,4,5] | length }}</p>
{# 列表求和 #}
<p>{{ [1,2,3,4,5] | sum }}</p>
{# 列表排序,默认为升序 #}
<p>{{ [3,2,1,5,4] | sort }}</p>
{# 合并为字符串,返回"1 | 2 | 3 | 4 | 5" #}
<p>{{ [1,2,3,4,5] | join(' | ') }}</p>
{# 列表中所有元素都全大写。这里可以用upper,lower,但capitalize无效 #}
<p>{{ ['alex','bob','ada'] | upper }}</p>

 

字典相关的过滤器

{% set users=[{'name':'Tom','gender':'M','age':20},
{'name':'John','gender':'M','age':18},

模板中:
{'name':'Mary','gender':'F','age':24},
{'name':'Bob','gender':'M','age':31},
{'name':'Lisa','gender':'F','age':19}]
%}
{# 按指定字段排序,这里设reverse为true使其按降序排 #}
<ul>
{% for user in users | sort(attribute='age', reverse=true) %}
<li>{{ user.name }}, {{ user.age }}</li>
{% endfor %}
</ul>
{# 列表分组,每组是一个子列表,组名就是分组项的值 #}
<ul>
{% for group in users|groupby('gender') %}
<li>{{ group.grouper }}<ul>
{% for user in group.list %}
<li>{{ user.name }}</li>
{% endfor %}</ul></li>
{% endfor %}
</ul>
{# 取字典中的某一项组成列表,再将其连接起来 #}
<p>{{ users | map(attribute='name') | join(', ') }}</p>

标签:name,gender,age,列表,user,过滤器,users,字典
From: https://www.cnblogs.com/yongheng999/p/18315664

相关文章

  • 字符串和数字过滤器
    什么是过滤器?实质上就是一个转换函数。变量可以通过“过滤器”进行修改,过滤器可以理解为是jinja2里面的内置函数和字符串处理函数。常用的过滤器有: 1、字符串的过滤器<body>{#当变量未定义时,显示默认字符串,可以缩写为d#}<p>{{name|default('Noname')}}</p>{#单词首......
  • Python学习计划——2.4列表推导式(List Comprehensions)
    列表推导式是Python的一种简洁且强大的语法,用于生成新的列表。它可以用更少的代码、更清晰的方式来创建列表,特别是在处理简单的循环和条件操作时。1.基本语法列表推导式的基本语法如下:[expressionforiteminiterable]expression:表达式,计算结果用于生成列表的元素。ite......
  • 具有未定义嵌套列表深度的嵌套列表的Python注释类型
    [[1,2,3],3,[2,4],5]的类型是list[list[int]|int]但是,如果嵌套列表具有未定义的深度,例如[[[1,2]],2,[1,[3,[3]]]],3,[2,[2]]],那么它会具有什么类型?可以使用递归类型提示来表示任意深度嵌套的列表:fromtypingimportList,Union......
  • 解压列表/元组中的前两个元素
    Python有没有办法这样做:a,b,=1,3,4,5然后:>>>a1>>>b3上面的代码不起作用,因为它会抛出ValueError:toomanyvaluestounpack当然可以!虽然不能直接像你写的那样解包,但Python提供了几种优雅的方式来获取列表或元组的前两个元素。......
  • 使用 np.array 索引过滤 Python 列表
    谁能向我解释一下列表self.data如何使用numpy索引数组selec_idx进行索引/过滤?完整的课程可在https://github.com/kaidic/LDAM-DRW/blob/master/imbalance_cifar.pydefgen_imbalanced_data(self,img_num_per_cls):new_data=[]n......
  • 常见的Python编程题目及其代码(十二)-- 56. 检查字符串是否只包含数字57. 找到列表中出
    目录56.检查字符串是否只包含数字57.找到列表中出现次数最多的元素58.计算字符串中的元音数59.计算字符串中的辅音数60.找到字符串中的最长单词 56.检查字符串是否只包含数字s="12345"print(s.isdigit())57.找到列表中出现次数最多的元素fromcollection......
  • 将具有最接近值的整数列表分组
    我有一个列表:d=[23,67,110,25,69,24,102,109]如何将最近的值与动态间隙分组,并创建这样的元组,最快的方法是什么?:[(23,24,25),(67,69),(102,109,110)]defgroup_close_integers(data,gap):"""将具有最接近值的整数列表分组。参数:data:要分......
  • 在 python3 中迭代字典键时无法删除它:“RuntimeError:字典在迭代期间更改了大小”
    我试图在迭代字典时从字典中删除一个键。从字典中删除键时,我得到:RuntimeError:dictionarychangedsizeduringiteration我的代码:mydict={'one':1,'two':2,'three':3,'four':4}fork,vinmydict.items():ifk=='two'......
  • 如何在迭代字典时从字典中删除项目?
    我可以在迭代Python字典时删除其中的项目吗?我想从字典中删除不满足特定条件的元素,而不是创建一个全新的字典。以下是一个好的解决方案,还是有更好的方法?fork,vinmydict.items():ifk==val:delmydict[k]直接在迭代字典时修改字典会导致Runti......
  • 删除字典值中的列表元素会影响该字典中的其他值吗?
    我在python中有一个字典,看起来像这样my_dict={'100':[['a',[10],[5]]],'101':[['a',[10],[7]]],'102':[['a',[10],[11]]],'103':[['a',[10],[4]]],}要创建my_dic......