gpt4 book ai didi

python - 检查列表中的元素是否在 django 模板中的另一个列表中

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:39 26 4
gpt4 key购买 nike

我正在通过列表创建一个for 循环。对于此列表中的每个元素,我想知道此元素是否与另一个列表中的 4 个单词之一相等。

这是我为了描述情况而举的例子:

在我看来:

content = ['**Added**:\n', '* something (toto-544)\n', '\n', '**Changed**:\n', ...]

operations = ['Added', 'Changed', 'Fixed', 'INTERNAL']

来 self 的 HTML 文件:

{% for line in content %}
{% if line in operations %}
<tr class="table-subtitle">
<td colspan="12">{{ line }}</td>
</tr>
{% else %}
<tr class="table-value-content">
<td colspan="12">{{ line }}</td>
</tr>
{% endif %}
{% endfor %}

它应该显示与第二个不同的第一个 line 元素(我改变了两个类之间的颜色)。因为 line[0]operations 而不是 line[1]

你知道为什么它不能通过我的 for 循环/if 语句 工作吗?

最佳答案

此检查对于模板来说有点复杂,但您可以使用 any() 在 Python 代码中轻松实现它功能。由于字符串较长,您可以检查操作是否在 in 字符串中:

any(
op.lower() in s.lower()
for op in operations)

测试代码:

content = ['**Added**:\n', '* something (toto-544)\n', '\n', '**Changed**:\n',]
operations = ['Added', 'Changed', 'Fixed', 'INTERNAL']

for s in content:
print()
print('s:', repr(s))
print('s in operations:', s in operations)
print('custom check: ', any(op.lower() in s.lower() for op in operations))

结果是:

s: '**Added**:\n'
s in operations: False
custom check: True

s: '* something (toto-544)\n'
s in operations: False
custom check: False

s: '\n'
s in operations: False
custom check: False

s: '**Changed**:\n'
s in operations: False
custom check: True

关于python - 检查列表中的元素是否在 django 模板中的另一个列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55850193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com