小编Gnu*_*iff的帖子

加入两个长度不同的列表,重复最短的

我有两个清单:

l1 = [1,2,3,4,5]
l2 = ["a","b","c"]
Run Code Online (Sandbox Code Playgroud)

我的预期输出:

l3 = [(1,"a"),(2,"b"),(3,"c"),(4,"a"),(5,"b")]
Run Code Online (Sandbox Code Playgroud)

所以基本上我想加入两个列表,当它们的长度不同时,我必须通过从头开始重复来传播其他列表中的项目。

我试过:

使用 zip() 但它对这种情况不利,因为它以相等的长度连接

>>> list(zip(l1,l2))
[(1, 'a'), (2, 'b'), (3, 'c')]
Run Code Online (Sandbox Code Playgroud)

python list

4
推荐指数
1
解决办法
44
查看次数

XSLT 外部查找表正确用法 - key() 函数?

我四处搜索并找到了一些关于 xsl:key 和 key() 函数的教程,但不知何故,我显然仍然缺少一些理解。

我需要进行 XML-XML 转换,其中包括大约 10 个字段,您必须在这些字段中从源 XML 获取字符串值,从适当的查找表(提供)中找到适当的数字代码,并将这些代码放入生成的 XML 中。

我有一个这样做的工作版本 xsl:for-each for lookup table,但我怀疑它是次优的,想知道我是否应该使用 select="key('CR-Lookup',$CR)" 而不是 somhow .

所以,我想做的是(树的深处):

<Contributor>
<ContributorRole>producer</ContributorRole>
<ContributorName>Anglet, J.</ContributorName>
</Contributor>
Run Code Online (Sandbox Code Playgroud)

变成这样的东西:

<Contributor>
<ContributorRole id="7" code="818"/>
<Value id="Name">Anglet, J.</Value>
</Contributor>
Run Code Online (Sandbox Code Playgroud)

我制作的文件如下:

查找表文件lookup_ContributorRole.xml

<lookup id="ContributorRole">
<row>
  <id>7</id>
  <parentid>NULL</parentid>
  <valueMember>1</valueMember>
  <displayMember>producer</displayMember>
  <code>818</code>
  <externalId>NULL</externalId>
  <description>NULL</description>
</row>
<!-- more <row>s...-->
</lookup>
Run Code Online (Sandbox Code Playgroud)

Amd XSLT 文件,我尝试在其中进行匹配:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
    xmlns:foxml="info:fedora/fedora-system:def/foxml#" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:rel="info:fedora/fedora-system:def/relations-external#"
    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema" 
    xmlns:audit="info:fedora/fedora-system:def/audit#" 
    xmlns:fedoraxsi="http://www.w3.org/2001/XMLSchema-instance"

    exclude-result-prefixes="xsl foxml rdf rel oai_dc dc xsi audit …
Run Code Online (Sandbox Code Playgroud)

xslt xslkey

0
推荐指数
1
解决办法
4973
查看次数

标签 统计

list ×1

python ×1

xslkey ×1

xslt ×1