我有以下数组
([[ 1, 1, 2, 2],
[ 1, 1, 3, 3],
[ 1, 1, 4, 4]])
我想将值从int转换为str,如下所示:
([[ '1', '1', '2', '2'],
[ '1', '1', '3', '3'],
[ '1', '1', '4', '4']])
我该怎么做?
答案 0 :(得分:0)
arr
使用整数作为你的数组,你可以这样做:
list(map(lambda i: list(map(str,i)), arr))
有一个班轮。
结果:
[['1', '1', '2', '2'], ['1', '1', '3', '3'], ['1', '1', '4', '4']]
答案 1 :(得分:0)
def stringify_nested_containers(obj):
if hasattr(obj, '__iter__') and not isinstance(obj, str):
obj = list(obj)
for idx in range(0, len(obj)):
obj[idx] = stringify_nested_containers(obj[idx])
else:
obj = str(obj)
return obj
lyst = [
[ 1, 1, 2, 2],
[ 1, 1, 3, 3],
[ 1, 1, 4, 4]
]
slyst = stringify_nested_containers(lyst)
print(slyst)
print(type(slyst[0][0]))
对于名为stryng
的字符串,stryng[0]
,stryng[539]
或stryng[whatever]
不是字符,它们是字符串。
因此,
"h" == "hello world"[0]
和
"h" == "hello world"[0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]
假设您尝试深入挖掘嵌套容器,直到找到没有__iter__
方法的对象(即非容器)。假设嵌套容器中有一个字符串。然后,您将以无限递归或循环结束,因为"a"[0]
可以对任何字符"a"
进行迭代。具体来说,"a"
有一个元素,"a"[0]
和"a"[0]== "a"
。