在.NET 4.0上的ironPython 2.7.5中将数组连接成一个数组

时间:2016-03-26 20:43:25

标签: python .net arrays list ironpython

在IronPython 2.7.5中,我有一个返回字符串数组的函数(由其他人设计的背箱)。

该函数在循环中调用。我需要逐个连接返回的数组。最终类型也必须是字符串数组。

更新

我的代码:

$ssh->read('[prompt]'); $ssh->write("command\n"); echo $ssh->read('[prompt]');

我不知道如何对数组进行连接。

因此,我将数组转换为list然后将它们连接起来。

最后,我需要在.NET 4.0上的IronPython 2.7.5中将最终列表(保存所有restuls)转换为数组(它必须是数组,因为它将用作lib函数的输入参数)。

我的代码:

   def Myfunction():
      in a For Loop:
         data_array = Anotherfunction()
         final_data_array += data_array  

      ThirdFunction(final_data_array) # the final data type MUST be array

我收到了错误:

  from array import array 
  tt = ["abc", "def"]
  array(','.join(tt)) 

代码:

 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 TypeError: expected character, got str

我收到了错误:

 from array import array 
 tt = ["abc", "def"]
 array(tt)

我不能使用numpy和其他包。

或者,如何将数组连接成一个数组?

我也尝试过:

  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  TypeError: expected str, got list

但是,它只适用于角色。我需要

 array('c') 

有什么建议吗?感谢

2 个答案:

答案 0 :(得分:0)

数组是一个等待实例化的对象,你不应该使用它

请参阅: {{3}}

如果你不能将列表连接到数组,因为它们是不同的类型

连接列表或数组很简单,只需尝试:

列表:

a = [1,2]
b = [3,'hey']
print a+b
>>>[1,2,3,'hey']

阵列:

from array import array
a = array('i') # i = int
b = array('i') # read the table in the documentation for understand ('letter')
a = 1,2
b = 3,4
print a+b
>>>(1,2,3,4)

或者&#39; str&#39; 使用数组(&#39; u&#39;)o数组(&#39; c&#39;)

如果想作为列表

a = array('c')
a = ['lel', 'hixD']
print a
>>>['lel', 'hixD']
print type(a)
>>><type 'list'>
  

请注意   &#39; u&#39; typecode对应Python的unicode字符。在窄的Unicode版本中,这是2字节,在宽版本上,这是4字节。

答案 1 :(得分:0)

加入str:

ss = ', '.join(tt) # result: 'abc, def'

使用“char”或“unicode”使用字符串:

初始化数组
s2 = array('c',ss) # array('c', 'abc, def')

我不知道这是不是你想要的。