在Python的子列表中连接列表和数字

fos*_*osi 1 python list

如何连接如下列表:

buttons = [[['a','b','c'], '2'], [['d','e','f'], '3']]
Run Code Online (Sandbox Code Playgroud)

buttons = [[['a','b','c','2'], ['d','e','f','3']]]
Run Code Online (Sandbox Code Playgroud)

我尝试访问三个索引并连接但它不起作用:

buttons[0][1]
Run Code Online (Sandbox Code Playgroud)

Ale*_*ley 7

一种方法是解压缩列表理解中的每个元素并连接这两部分:

>>> buttons = [[['a','b','c'], '2'], [['d','e','f'], '3']]
>>> [x + [y] for x, y in buttons]
[['a', 'b', 'c', '2'], ['d', 'e', 'f', '3']]
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为每个子列表都有两个元素; 第一个元素分配给x,第二个元素分配给y.例如,对于buttons我们的第一个子列表,我们有:

x, y = [['a','b','c'], '2']
Run Code Online (Sandbox Code Playgroud)

那么:

>>> x
['a','b','c']
>>> y
'2'
Run Code Online (Sandbox Code Playgroud)

然后将这两个部分连接在一起,如下所示:

x + [y] == ['a', 'b', 'c'] + ['2'] == ['a', 'b', 'c', '2']
Run Code Online (Sandbox Code Playgroud)