如何将手机和电子邮件与此列表的对应名称相加:
list_key_value = [['Jibs', ('251871', 'jibs@stack.com')],
['Marco', ('0000000', 'marco@live.com')],
['Richard', ('099099', 'richar@hotmail.com')]]
像这样:
[['Jibs', '251871', 'jibs@stack.com'],
['Marco', '0000000', 'marco@live.com'],
['Richard', '099099', 'richar@hotmail.com']]
因为它来自Python 3.5中的这个命令:
list_key_value=[ [k,v] for k,v in dct.items()]
print(list_key_value)
答案 0 :(得分:6)
您希望解压缩嵌套列表,您可以在列表解析中使用多值解包,以实现该目标:
list_key_value=[[k,i,j] for k,(i,j) in dct.items()]
答案 1 :(得分:2)
在Python 3.5中你可以做到
list_key_value = [[name, *tp] for (name, tp) in list_key_value]
答案 2 :(得分:0)
确实更加丑陋的方法,但最终证明了手段的合理性。
我只是把它放在这里,没有伤害。
lst = [['Jibs', ('251871', 'jibs@stack.com')], ['Marco', ('0000000', 'marco@live.com')], ['Richard', ('099099', 'richar@hotmail.com')]]
new_lst = []
for elem in lst:
temp_lst = []
for i in elem:
if isinstance(i, tuple):
temp_lst.extend(i)
else:
temp_lst.append(i)
new_lst.append(temp_lst)
print new_lst
# [['Jibs', '251871', 'jibs@stack.com'], ['Marco', '0000000', 'marco@live.com'], ['Richard', '099099', 'richar@hotmail.com']]
答案 3 :(得分:0)
@TanveerAlam解决了这个问题,虽然@Kasramvd解决方案有待进一步解释:
[[i[0]]+list(i[1]) for i in list_key_value]