如何更改嵌套列表中第二个元素的数据类型

时间:2018-12-21 16:37:46

标签: python python-3.x list list-comprehension

nested_list = [['bob', '444'], ['steve', '111'], ['mark', '888']]

我想将每个嵌套列表中的第二个元素转换为int类型。我正在尝试类似

nested_list2 = []
[int(x[1]) for x in nested_list]

这确实将第二个元素转换为int,但是我丢失了其余数据。

我也尝试过这种方法,但是它折叠了我的嵌套列表结构:

 [nested_list2.extend((x[0], int(x[1]))) for x in testlist]

在这里是否有可能得到如下所示的结果

 nested_list2 = [['bob', 444], ['steve', 111], ['mark', 888]]

3 个答案:

答案 0 :(得分:2)

应该使用列表推导来创建列表,而不是就地修改现有列表:

nested_list = [['bob', '444'], ['steve', '111'], ['mark', '888']]

res = [[name, int(num)] for name, num in nested_list]

# [['bob', 444], ['steve', 111], ['mark', 888]]

答案 1 :(得分:2)

nested_list = [['bob', '444'], ['steve', '111'], ['mark', '888']]
for x in nested_list:
    x[1]=int(x[1])

答案 2 :(得分:0)

nested_list2=[]
temp=[]
for i in nested_list:
    for j in i:
        temp.append(j)
    nested_list2.append(temp)
    temp=[]
for i in nested_list2:
    i[1]=int(i[1])

尝试一下,让我知道您是否需要它。干杯!