我正在尝试将此for循环转换为“列表理解”格式(如果可能):
此循环将0添加到二维列表中
test_list = [['string1'],['string2'],['string3']]
for i in range(len(test_list)):
test_list[i].insert(1, 0)
输出:
test_list = [['string1',0],['string2',0],['string3',0]]
我已经尝试过了,但是由于某种原因它不起作用。
test_list = [test_list[i].insert(1, 0) for i in range(len(test_list))]
这是行不通的,因为list.insert()
就地修改了列表并返回None
,所以您将得到None
s列表,这些列表是所有.insert()
s的返回值。
列表理解格式不足以满足您的需求,因为它旨在创建新列表,并且您似乎想就地修改列表。如果要创建新列表,则可以使用以下方法:
test_list = [sublist + [0] for sublist in test_list]
之所以+
可行,是因为列表上的运算符会创建并返回一个新列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句