给定Lista
每个包含一个id名称(例如a
),则
符号'='
和逗号分隔的值列表。我需要生成另一个列表,它是'id= value'
子字符串的组合,这样每个id值组合都存在于输入中,并且每个值只使用一次。你知道吗
Lista:
[
'a= aVal1,aVal2',
'b=bVal1,bVal2,bVal3',
'c= cVal1,cVal2',
]
预期产量:
Listb:
[
'a=aVal1& b=bVal1&c=cVal1',
'a=aVal1&b=tyVal1&c=cVal2',
'a=aVal1&b=tyVal2&c=tzVal1',
'a=aVal1&b=tyVal2&c=tzVal2',
]
我试图用^{
说明:
首先需要用
=
拆分字符串列表,然后创建g
,如下所示:现在需要创建list
g
元素与len2的组合,然后需要该结果的production
!请注意,我们需要从以下结果的每个列表中选取一个元组:你应该看看
itertools.product
,那可能就是你要找的。你知道吗您可以轻松地将
listA
转换为3个列表:那你可以试试
x将是你想要的,所有剩下的工作是字符串连接,或字符串格式化。你知道吗
更新
更多细节,你可以用这个
希望这有帮助
我通常不会把完整的工作解决方案张贴到看起来像作业问题,所以你要考虑自己幸运。:)
输出
我已经将列表的名称改为小写-以大写字母开头的名称,如
Lista
和Listb
,通常保留用作Python中的类名。你知道吗如果你不明白我在这个节目中所做的任何事情,请询问,我会尽力解释。你知道吗
你可以用一行字来写,但读起来不太容易:
:)
字符串^{} method 将字符串分成3部分:分隔符前面的子字符串、分隔符本身和分隔符后面的子字符串。
因此
head, _, tail = s.partition('=')
将id捕获到head
,并将所有相关值捕获到tail
。我使用
_
来捕获分隔符,以指示我们实际上并不需要该值(因为我们已经知道它是=
)。下一行的列表使用
.split(',')
将值拆分。你知道吗相关问题 更多 >
编程相关推荐