Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在for循环中生成字符串向量_Python_Arrays_String_Numpy_For Loop - Fatal编程技术网

Python 如何在for循环中生成字符串向量

Python 如何在for循环中生成字符串向量,python,arrays,string,numpy,for-loop,Python,Arrays,String,Numpy,For Loop,如何将int数组转换为str数组 输入: lenx=73293 输出: y = np.array(["0","1","2","3"....]) N = array(["1,1,2,5", "1,1,2,3", "1,2,0,4", "1,2,0,6", "1,2,0,8", "2,1,3,5", "2,2,9,6",

如何将int数组转换为str数组 输入:

lenx=73293

输出:

y = np.array(["0","1","2","3"....])
N =   array(["1,1,2,5",
             "1,1,2,3",
             "1,2,0,4",
             "1,2,0,6",
             "1,2,0,8",
             "2,1,3,5",
             "2,2,9,6",
             "2,2,9,4"])
我们考虑过这样做:

y=[]
for i in range(len(x)):
        y=y.append(str(x[i]))
list1=[]
for i in range(len(M)):
    list1=list1.append(str(M[i,0]),str(M[i,1]),str(M[i,2]),str(M[i,3]))
但它不起作用

试试以下方法:

import numpy as np

#with list comprehension 
y = [str(x) for x in np.arange(73293)]

#if you prefer to use pure numpy
y = np.arange(73293).astype(np.str)
纯numpy的速度也更快:

%timeit y = [str(x) for x in np.arange(73293)]
10 loops, best of 3: 87.3 ms per loop

%timeit y = np.arange(73293).astype(np.str)
100 loops, best of 3: 8.77 ms per loop
希望有帮助。

尝试以下方法:

import numpy as np

#with list comprehension 
y = [str(x) for x in np.arange(73293)]

#if you prefer to use pure numpy
y = np.arange(73293).astype(np.str)
纯numpy的速度也更快:

%timeit y = [str(x) for x in np.arange(73293)]
10 loops, best of 3: 87.3 ms per loop

%timeit y = np.arange(73293).astype(np.str)
100 loops, best of 3: 8.77 ms per loop
希望有帮助。

您可以使用:

输出:

array(['0', '1', '2', '3'], 
      dtype='<U1')
100000 loops, best of 3: 18 µs per loop
您可以使用:

输出:

array(['0', '1', '2', '3'], 
      dtype='<U1')
100000 loops, best of 3: 18 µs per loop
您还可以与自定义函数一起使用,如以下示例所示:

def my_func(a):
    return list(map(str, a))

a = np.array([0,1,2,3])
a = np.apply_along_axis(lambda x: my_func(x), 0, a)
输出:

>>> a
array(['0', '1', '2', '3'], 
      dtype='<U1'
您还可以与自定义函数一起使用,如以下示例所示:

def my_func(a):
    return list(map(str, a))

a = np.array([0,1,2,3])
a = np.apply_along_axis(lambda x: my_func(x), 0, a)
输出:

>>> a
array(['0', '1', '2', '3'], 
      dtype='<U1'

这可以在纯Python中解决:

>>> map(str, x)
['1', '2', '3']
或者,如果您需要转换回:

>>> x = np.array([1,2,3])
>>> np.array(map(str, x))
array(['1', '2', '3'], 
  dtype='|S7')

这可以在纯Python中解决:

>>> map(str, x)
['1', '2', '3']
或者,如果您需要转换回:

>>> x = np.array([1,2,3])
>>> np.array(map(str, x))
array(['1', '2', '3'], 
  dtype='|S7')

如何将矩阵转换为数组/字符串列表? 输入:

输出:

y = np.array(["0","1","2","3"....])
N =   array(["1,1,2,5",
             "1,1,2,3",
             "1,2,0,4",
             "1,2,0,6",
             "1,2,0,8",
             "2,1,3,5",
             "2,2,9,6",
             "2,2,9,4"])
我们尝试过这样的方法:

y=[]
for i in range(len(x)):
        y=y.append(str(x[i]))
list1=[]
for i in range(len(M)):
    list1=list1.append(str(M[i,0]),str(M[i,1]),str(M[i,2]),str(M[i,3]))

如何将矩阵转换为数组/字符串列表? 输入:

输出:

y = np.array(["0","1","2","3"....])
N =   array(["1,1,2,5",
             "1,1,2,3",
             "1,2,0,4",
             "1,2,0,6",
             "1,2,0,8",
             "2,1,3,5",
             "2,2,9,6",
             "2,2,9,4"])
我们尝试过这样的方法:

y=[]
for i in range(len(x)):
        y=y.append(str(x[i]))
list1=[]
for i in range(len(M)):
    list1=list1.append(str(M[i,0]),str(M[i,1]),str(M[i,2]),str(M[i,3]))

y=[stri for i in x]注意-没有numpy,您必须验证它是否有效。如果您想使它与for循环而不是列表理解一起工作,您应该编写y.appendstrx[i]而不是y=y.appendstrx[i]。append将元素添加到列表中并返回None,因此在第一次迭代后y将为None。y=[stri for i in x]注意-如果没有numpy,则必须验证此操作是否有效。如果要使其与for循环而不是列表理解一起工作,则应编写y.appendstrx[i]而不是y=y.appendstrx[i]。append将元素添加到列表中并返回None,因此y在第一次迭代后将为None。很好!没想到。@Ding,不知道np.str,谢谢你的把戏我得调查一下!但是它看起来比内置str慢了一点,你知道它有什么好处吗?很好!没想到。@Ding,不知道np.str,谢谢你的把戏我得调查一下!但是它看起来比内置str慢了一点,你知道它有什么好处吗?