我有一个包含字符串的元组的元组:
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]]
要将元组的元组 T1 中的所有字符串元素转换为整数,并将它们放入列表的列表 T2 中,可以使用嵌套的列表推导式来实现。下面是如何进行转换的代码:
T1
T2
T1 = (('13', '17', '18', '21', '32'), ('07', '11', '13', '14', '28'), ('01', '05', '06', '08', '15', '16')) # 使用嵌套列表推导式将字符串转换为整数 T2 = [[int(num) for num in inner_tuple] for inner_tuple in T1] print(T2)
列表推导式:外部的列表推导式 [ ... for inner_tuple in T1 ] 遍历 T1 中的每个内部元组 inner_tuple。
[ ... for inner_tuple in T1 ]
inner_tuple
内部列表推导式:在外部推导式内部的 [int(num) for num in inner_tuple] 遍历 inner_tuple 中的每个元素 num。
[int(num) for num in inner_tuple]
num
转换为整数:int(num) 将每个字符串元素 num 转换为整数。
int(num)
结果:结果是列表的列表 T2,其中每个内部列表包含从 T1 转换而来的整数元素。
运行 print(T2) 将会得到期望的输出:
print(T2)
[[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]
这种方法利用了Python的内置函数 int() 和列表推导式,有效地将字符串转换为整数,提供了清晰简洁的解决方案。
int()