2017-04-24 120 views
0

所以在Python中,我有一个矩阵如下:转换矩阵的元素为整数

theMatrix = [["String", "0"],["String2", "1"]] 

,我想所有的数字在每个表的索引1转换为整数。

结果:

theMatrix = [["String", 0],["String2", 1]] 

这需要的不仅仅是两个列表中的工作:

eg. theMatrix = [["String", 0],["String2", 1],["String3", 2],["String4", 3]] 
+0

您使用什么语言? MATLAB? –

+0

对不起,我正在使用Python。我知道我错过了一些东西! –

回答

0

请详细说明编程语言,并在内部列表将会有更多的元素或它们是总是元组?你想将字符串格式的每一个整数转换为int或只是内部列表中的第二项?这个数据结构的用意是什么?你可能需要考虑的是字典或散列表。只是想一想它会适合你的解决方案。

对于Python语言,你可以有内部列表元素多,总是位置1已经改变,然后将下面的代码可以帮助

for innerList in theMatrix: 
    if len(innerList) > 1: 
     value = int(innerList[1]) 
     innerList[1] = value if value >= 0 else 0 
+0

我正在使用python,内部列表中可能有更多元素,但是我想要转换为整数的字符串的索引将始终是相同的,即在索引1处。我将需要执行所有算法所以我不确定字典能帮助我。 –

0
theMatrix = [["String", '0'],["String2", '1'],["String3", '2'],["String4", '3']] 
#iterate the list of lists and convert the int string to int. 
[[e[0],int(e[-1])] for e in theMatrix] 
Out[222]: [['String', 0], ['String2', 1], ['String3', 2], ['String4', 3]]