如何将字符串转换为Python中的整数?

我有一个像这样的MySQL查询的元组元组:

T1 = (('13', '17', '18', '21', '32'),
      ('07', '11', '13', '14', '28'),
      ('01', '05', '06', '08', '15', '16'))

我想将所有字符串元素转换为整数,并将它们放回列表中:

T2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]

我试图用eval来实现它,但还没有得到任何体面的结果。


int()是Python标准内置函数,用于将字符串转换为整数值。 你用包含一个数字的字符串作为参数来调用它,并且它返回转换为整数的数字:

print (int("1") + 1)

以上打印2

如果你知道你的列表的结构,T1(它只包含列表,只有一个级别),你可以在Python 2中做到这一点:

T2 = [map(int, x) for x in T1]

在Python 3中:

T2 = [list(map(int, x)) for x in T1]

你可以用列表理解来做到这一点:

T2 = [[int(column) for column in row] for row in T1]

内部列表理解( [int(column) for column in row] )建立一个listint从一个序列s int -able对象,如十进制,在row 。 外部列表理解( [... for row in T1]) )构建应用于T1每个项目的内部列表理解的结果的列表。

如果任何行包含无法通过int转换的对象,则代码片段将失败。 如果要处理包含非十进制字符串的行,则需要更智能的函数。

如果你知道行的结构,你可以通过调用行的函数来替换内部列表理解。 例如。

T2 = [parse_a_row_of_T1(row) for row in T1]

我宁愿只使用理解列表:

[[int(y) for y in x] for x in T1]
链接地址: http://www.djcxy.com/p/31799.html

上一篇: How to convert strings into integers in Python?

下一篇: Join with newline