des*_*ice 0 python tuples python-2.7
我有一个包含元组的列表,如下所示:
my_list = (u'code', u'somet text', u'integer', [(u'1', u'text1'), (u'2', u'text2'), (u'3', u'text3'), (u'4', u'text4'), (u'5', u'text5')])
Run Code Online (Sandbox Code Playgroud)
我想迭代my_list[3]并复制其余的,所以我会得到如下所示的n个列表:
(u'code', u'somet text', u'integer', u'1', u'text1')
(u'code', u'somet text', u'integer', u'2', u'text2')
(u'code', u'somet text', u'integer', u'3', u'text3')
(u'code', u'somet text', u'integer', u'4', u'text4')
(u'code', u'somet text', u'integer', u'5', u'text5')
Run Code Online (Sandbox Code Playgroud)
我试过使用for循环,但我最终得到了这个:
((u'code', u'somet text', u'integer'), (u'1', u'text1'))
((u'code', u'somet text', u'integer'), (u'2', u'text2'))
((u'code', u'somet text', u'integer'), (u'3', u'text3'))
((u'code', u'somet text', u'integer'), (u'4', u'text4'))
((u'code', u'somet text', u'integer'), (u'5', u'text5'))
Run Code Online (Sandbox Code Playgroud)
此外,我使用的代码根本不会感觉非常pythonic my_list[3],长度可能不同.
my_list = (u'code', u'somet text', u'integer', [(u'1', u'text1'), (u'2', u'text2'), (u'3', u'text3'), (u'4', u'text4'), (u'5', u'text5')])
my_modified_list = my_list[0:3]
last_part_of_my_list = my_list[3]
for i in last_part_of_my_list:
print (my_modified_list, i)
Run Code Online (Sandbox Code Playgroud)
您可以使用简单的元组连接来实现此目的+:
nlists = [my_list[:-1] + tpl for tpl in my_list[-1]]
[(u'code', u'somet text', u'integer', u'1', u'text1'),
(u'code', u'somet text', u'integer', u'2', u'text2'),
(u'code', u'somet text', u'integer', u'3', u'text3'),
(u'code', u'somet text', u'integer', u'4', u'text4'),
(u'code', u'somet text', u'integer', u'5', u'text5')]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50 次 |
| 最近记录: |