我试图通过使用python(v2.7.10)脚本解析来从非常大的XML文件中提取信息。我的目标是将这些信息提供给我用C编写的其他项目作为文件中的(非常大的)数组和整数文字。 以下代码演示了我正在做的事情:
import sys
myList = [[1,2,3],[11,22,33]]
size = len(myList)
print("int myList[" + str(size) + "][3] = " + str(myList) + ";\n")
结果是int myList[2][3] = [[1,2,3],[11,22,33]];
,但我需要的是C语法:int myList[2][3] = {{1,2,3},{11,22,33}};
有没有办法以str()
代替{}
打印列表的方式修改[]
?
答案 0 :(得分:1)
您可以使用翻译表case '+':
,然后使用 trans
函数:
str.translate(..)
然后打印:
from string import maketrans
trans = maketrans('[]','{}')
print("int myList[" + str(size) + "][3] = " + str(myList).translate(trans) + ";\n")
但请注意,如果元素不是列表,则可能导致内容在语义上无效。我们只需将>>> from string import maketrans
>>> myList = [[1,2,3],[11,22,33]]
>>> size = len(myList)
>>> trans = maketrans('[]','{}')
>>> print("int myList[" + str(size) + "][3] = " + str(myList).translate(trans) + ";\n")
int myList[2][3] = {{1, 2, 3}, {11, 22, 33}};
替换为'['
,将'{'
替换为']'
。