【发布时间】:2018-03-02 16:05:11
【问题描述】:
我已经浏览了Convert all strings in a list to int 的帖子
我要转换
results = ['1', '2', '3']
到:
results = [1, 2, 3]
我知道我可以做到的
- 地图(整数,结果)
和
- results = list(map(int, results))
我想要它更快的方式可能是使用 numpy 或更快。
实际代码是
from sys import stdin, stdout
import numpy as np
n = int(stdin.readline())
for i in range(0,n):
lone = 0
m = int(stdin.readline())
results = stdin.readline().split()
o = np.array(results, dtype=np.int64)
for j in range (0,m):
if o[j] in o[j+1:m]:
lone = lone +1
elif o[j] in o [0:j]:
lone = lone +1
else:
stdout.write(str(o[j]) + '\n')
if lone == m:
stdout.write ("-1 \n")
请让我知道在尝试处理数千个字符串时是否有任何方法可以实现这一点
【问题讨论】:
-
你上面的方法怎么这么慢?
-
当我处理数千个数字时,只需将这些数字转换为整数需要 6-7 秒以上@BurhanKhalid
-
你确定这是花时间的部分吗? 6 - 7 秒对于简单的转换操作来说是一个巨大的时间。这听起来像你在其他地方有问题。你能发布你的计时码吗?
-
请检查编辑@BurhanKhalid
-
感谢您的帮助
标签: python python-2.7 numpy type-conversion