当前位置: 首页 > 面试题库 >

如何将不稳定的字符串列表转换为int

柯轶
2023-03-14
问题内容

在Python中,我想转换一个字符串列表:

l = ['sam','1','dad','21']

并将整数转换为整数类型,如下所示:

t = ['sam',1,'dad',21]

我试过了:

t = [map(int, x) for x in l]

但显示错误。

如何将列表中的所有 不稳定 字符串转换为int,而将其他元素保留为字符串?

我的清单可能是多维的。一种适用于通用列表的方法将更可取:

l=[['aa','2'],['bb','3']]


问题答案:

我将使用自定义函数:

def try_int(x):
    try:
        return int(x)
    except ValueError:
        return x

例:

>>> [try_int(x) for x in  ['sam', '1', 'dad', '21']]
['sam', 1, 'dad', 21]

编辑: 如果您需要将以上内容应用于列表列表, 为什么在构建嵌套列表时没有将这些字符串转换为int?

无论如何,如果需要,如何迭代此类嵌套列表并应用上述方法只是一个选择问题。

一种方法是:

>>> list_of_lists = [['aa', '2'], ['bb', '3']]
>>> [[try_int(x) for x in lst] for lst in list_of_lists]
[['aa', 2], ['bb', 3]]

您可以将其重新分配给list_of_lists

>>> list_of_lists = [[try_int(x) for x in lst] for lst in list_of_lists]


 类似资料:
  • 问题内容: 如何使用Python将列表转换为字符串? 问题答案: 通过使用 或者,如果列表是整数,则在连接元素之前将其转换。

  • 我有字符串列表 我需要将该列表转换为字符串,如下所示: 我想获取的字符串是: 如果 那么我只需要 如果,那么我需要。 有没有可能以一种灵活的方式做到那一点,并且避免编写多个? UPD:我在

  • 这个问题的范围是JSON处理的JavaAPI(JSR 353)。 给定一个元素为JsonString的JsonArray,我如何轻松地将其转换为

  • 问题内容: 我有一个pandas数据框。列之一包含一个列表。我希望该列为单个字符串。 例如,我的列表[‘one’,’two’,‘3’]应该简单地是‘1、2、3’ 给我[‘一个,两个,三个],[‘四个’,’五个’,’六个’],其中第二个列表来自下一行。不用说,对于数百万行,这种跨行连接不仅是不正确的,而且还会杀死我的内存。 问题答案: 在转换列表之前,您当然不应该转换为字符串。尝试: 另请注意,会将

  • 问题内容: 我有一个列表格式,如下所示: 如何转换为包含如下所示元素的列表: 问题答案: 用途: 或使用将其视为JSON : 以Python文字作为输入(因此Python源代码中的文本将为您提供一个值),以JSON输入。 演示: 只有当您的输入字符串中包含多个整数列表时,两者之间的区别才会发挥作用。JSON字符串包含unicode,在Python 2上无法正确解释,并且JSON类型只是支持的一部分

  • JavaScript具有 Java有这样的东西吗?我知道我可以用StringBuilder自己来添油加醋: ...但是如果类似的东西已经是JDK的一部分,那么这样做就没有意义了。