我目前具有以下结构:
[('file_name', '', '', {'Key': [(msg_1), (msg_2)]})]
我要插入以下元组:
(time.struct_time(tm_year=2019, tm_mon=5, tm_mday=22, tm_hour=20, tm_min=19, tm_sec=54, tm_wday=2, tm_yday=142, tm_isdst=1))
我最终得到的结果是:
[('file_name', (time.struct_time(tm_year=2019, tm_mon=5, tm_mday=22, tm_hour=20, tm_min=19, tm_sec=54, tm_wday=2, tm_yday=142, tm_isdst=1),'', '', {'Key': [(msg_1), (msg_2)]}))]
请注意,time.struct_time
元组的右括号位置必须在列表结束之前(以包围msg1
和msg2
的其余内容)。
我尝试了使用zip
并使用list
转换为insert
的各种方法,
答案 0 :(得分:0)
在python中,组是不可变的对象。不可能更改现有的元组。请看看这个answer。
但是,您可以创建另一个元组:
a = [('file_name', '', '', {'Key': [(msg_1), (msg_2)]})]
b = (time.struct_time(tm_year=2019, tm_mon=5, tm_mday=22, tm_hour=20, tm_min=19, tm_sec=54, tm_wday=2, tm_yday=142, tm_isdst=1))
c = [a[0][0], b, *a[0][1:]]
请注意,*
之前的a[0][1:]
将选定的元组切片解包。