9 我正在尝试以最短的方式(可能的字符)获得清单3。 清单1和清单2已作为参数提供给我,并且长度相同。 l1 = [1, 2, 3, 4, 5] l2 = ['a', 'b', 'c', 'd', 'e'] 清单3应该看起来像(是的,它必须是一个清单): l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5] code-golf tips python — 马蒂亚斯 source 2 你的目标是从字面上输出的具体名单l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]给出l1 = [1, 2, 3, 4, 5]与l2 = ['a', 'b', 'c', 'd', 'e']已经分配,或者是想法l1,并l2可能是相同长度的任何两个列表? — xnor
13 邮编和总和 [*sum(zip(l2,l1),())] 在线尝试! 将两个列表压缩在一起,然后将所有元组相加,以形成一个组合列表。只有在保证列表大小相同的情况下,该zip才有效,否则会截断较长的列表。 [* ]按照FryAmTheEggman的建议,添加了周围内容以将其转换为列表。 — 乔·金 source 2 如果使用Python 2,则只能使用list而不是[* (...) ]+3个字节。 — 暴民埃里克(Erik the Outgolfer)'18年
7 切片分配 c=a*2 c[1::2]=a c[::2]=b 这比使用Jo King的解决方案长三个字节c=[*sum(zip(b,a),())],但这很漂亮。在某些情况下它可能会更短(不过,我无法想到在哪里)。 — 林恩 source
l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]
给出l1 = [1, 2, 3, 4, 5]
与l2 = ['a', 'b', 'c', 'd', 'e']
已经分配,或者是想法l1
,并l2
可能是相同长度的任何两个列表?