[英]Append strings of different length to array
我尝试将 append 内容从如下列表中取出:["a", "b", "cd"] 到一个数组。 可以 append “单个”字符串,如“a”和“b”,但我如何 append “cd”?
from array import array
def function(a):
our_array = array("u",[])
our_array.insert(0,a)
print(our_array)
#Working
function("a")
#Not working
function("cd")
array("u",[])
表示our_array
元素的类型是wchar_t
( docs )。 由于"cd"
不是wchar_t
,因此您不能将它放入此数组中。 您可以为此目的使用list
。 例如:
def function(a):
our_list = []
our_list.append(a)
print(our_list)
array
接口只允许使用.append
添加单个元素,字符串'ab'
不是u
类型数组的单个元素。
假设我们有一个现有的数组
x = array('u', 'cd')
要添加'ab'
,只需从该字符串创建另一个数组,然后使用切片将其插入:
x[:0] = array('u', 'ab')
或者连接 arrays 并返回:
x = array('u', 'ab') + x
或者遍历字符串:
for position, c in enumerate('ab'):
x.insert(position, c)
请注意,每次插入都会更改 position 下一个值应插入的位置,因此我们需要使用索引向上计数。 enumerate
是这方面的自然工具。
"".join()
可以让你做到这一点。
我像这样重构了 function:
def function(a):
letters = []
for letter in a:
letters.append(letter)
our_array = array("u","".join(letters))
print(our_array)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.