我有一个元组列表(a),我想要更改为列表列表(b)。将元组列表更改为python列表中的列表
a = [('ad','as'),('bs','bt'),('cs','cr')]
b = [['ad','as'],['bs','bt'],['cs','cr']]
我试过下面的代码,但它不会改变任何东西。我错过了什么吗?
b = []
for element in a:
b.append(list(element))
我有一个元组列表(a),我想要更改为列表列表(b)。将元组列表更改为python列表中的列表
a = [('ad','as'),('bs','bt'),('cs','cr')]
b = [['ad','as'],['bs','bt'],['cs','cr']]
我试过下面的代码,但它不会改变任何东西。我错过了什么吗?
b = []
for element in a:
b.append(list(element))
您可以用更短的解决方案尝试,如:
b = map(list,a)
这通过将list
函数“A”的每一个元素生成一个新的列表。
该地图使用理解列表相当于相对较长代码:
b = [ list(x) for x in a]
提供的测试代码上尝试了更多pythonic的方法。 +1 – svvac
a = [('ad','as'),('bs','bt'),('cs','cr')]
b = [[elem[0], elem[1]] for elem in a]
a = [('ad','as'),('bs','bt'),('cs','cr')]
b = []
for element in a:
b.append(list(element))
print(b)
表明,B现在是列出的所需列表 - 让你的代码工作正常...
AND:当然,如果你真的定义了b
,那么它并不会改变,如下例所示:
b
- >新的b
与旧的b
相同 - 因此,即使您的代码有效,也没有可见的更改。
如果要第二次添加元组元素,只需删除b = []
行即可。
可能因为这与OP发布的代码完全相同 –
>>>a = [('ad','as'),('bs','bt'),('cs','cr')]
>>>b = [list(item) for item in a]
>>>b
[['ad', 'as'], ['bs', 'bt'], ['cs', 'cr']]
您的代码是正确的。 'b'将会和你想要的完全一样。问题是什么? –
*它不会改变任何内容*您如何验证? –
@TimCastelijns在我的导师 – user3651651