繁体   English   中英

在python中格式化列表中的特定元素

[英]Formatting the specific element in the list in python

我是python的新手。

我有一个这样的清单:

LIST = [ ['A','B','23'], ['C','D','2'], ['E','F','11'] ]

我想将其更改为以下内容:

LIST2 = [ ['A','B',[23]] , ['C','D',[2]] , ['E','F',[11] ] ]

如上所示,必须更改第三个元素。

我试过了,但无法避免单引号。

帮助将不胜感激!

您可以使用列表推导式生成一个新列表,其中每个列表中的第三个元素被转换为整数:

l = [ ['A','B','23'], ['C','D','2'], ['E','F','11'] ]
o = [x[:2] + [[int(x[2])]] for x in l]

print(o)

输出:

[['A', 'B', [23]], ['C', 'D', [2]], ['E', 'F', [11]]]

请注意,将变量命名为与内部对象(例如list相同的名称并不是一个好主意,即使您确实更改了大小写。

另一种方法:

LIST = [ ['A','B','23'], ['C','D','2'], ['E','F','11'] ]

LIST2 = [[*head, [int(tail)]] for *head, tail in LIST]

print(LIST2)

印刷:

[['A', 'B', [23]], ['C', 'D', [2]], ['E', 'F', [11]]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM