2024-05-03 08:27:49 发布
网友
我需要根据给定元组中元素的数量向列表中添加一个字典。想法如下:
# t is tuple containing 1 or 2 elements, l is list l = list() l.append({ 'A': t[0], if len(t) > 1: ('B': t[1]) })
所以,如果t = [7, 8],那么l = [{'A': 7, 'B': 8}],如果t = [7],那么l = [{'A': 7}]。在
t = [7, 8]
l = [{'A': 7, 'B': 8}]
t = [7]
l = [{'A': 7}]
我怎样才能做到这一点?在
或者,您可以编写以下行来创建字典:
[dict(zip(['A', 'B'], t))]
那么如果t = [7, 8]:
如果t = [7]:
>>> [dict(zip(['A', 'B'], t))] [{'A': 7}]
函数zip从t创建元组,字母列表的长度只到最短列表的长度。dict将元组映射到字典键/值。在
zip
t
dict
您可以使用if语句。在
if
d = { 'A':t[0] } if len(t) > 1: d['B'] = t[1] l = [d]
或者你可以理解:
如果元组的长度在0到26之间,这就可以了。(之后你就没信了。)
由于压缩功能在两封电子邮件中最短的一封中停止,所以我喜欢以下选项:
l.append({key:value for key, value in zip(['A', 'B'], t)})
或者,您可以编写以下行来创建字典:
那么如果
^{pr2}$t = [7, 8]
:如果
t = [7]
:函数
zip
从t
创建元组,字母列表的长度只到最短列表的长度。dict
将元组映射到字典键/值。在您可以使用
if
语句。在或者你可以理解:
^{pr2}$如果元组的长度在0到26之间,这就可以了。(之后你就没信了。)
由于压缩功能在两封电子邮件中最短的一封中停止,所以我喜欢以下选项:
相关问题 更多 >
编程相关推荐