从数组索引获取多个字符串-PYTHON

时间:2018-07-24 08:44:54

标签: python arrays python-3.x

我只是想不通如何轻松地在python中做到这一点:

myArray = ["this ","is ","a ","test.","this ","is ","another ","test."]

现在我希望输出为

  1. print(myArray[0:3]) -> "this is a test"
  2. print(myArray[4:7]) -> "this is another test"

python中是否有一个功能,使它无需在myArray中的for word中遍历整个数组即可...

我得到的是一个循环索引,该索引仅告诉我应该“打印”哪个单词。

我更喜欢python“ exclusive”变体,该变体又短又简单,最好是一个衬板,它应该需要尽可能少的内存(即使数千次尝试也要快速)

9 个答案:

答案 0 :(得分:5)

您可以尝试join(),希望这是您正在寻找的解决方案

myArray = ["this ","is ","a ","test.","this ","is ","another ","test."]
print(' '.join(myArray[:4]))
print(' '.join(myArray[4:]))

答案 1 :(得分:3)

似乎您真正想要的是join一起列出单词列表中的一些子列表。

>>> myArray = ["this ","is ","a ","test.","this ","is ","another ","test."]
>>> print(''.join(myArray[0:4]))
this is a test.
>>> print(''.join(myArray[4:8]))
this is another test.

答案 2 :(得分:2)

我想您必须使其成为myArray [0:4]并加入函数...

print("".join(myArray[0:4]))
print("".join(myArray[4:8]))

答案 3 :(得分:2)

您需要使用字符串方法join()。此方法适用于分隔符。例如:

"".join(myArray[0:4])

将输出:

'this  is  a  test.'

答案 4 :(得分:1)

你很近。

对于python 2.7:

print " ".join(test[0:3])

对于python 3.x:

print(*test[0:3])  

答案 5 :(得分:0)

只需使用join()

first="".join(myArray[0:3])
second="".join(myArray[4:7])

答案 6 :(得分:0)

如朋友所言,您可以在python中使用join

print("".join(myArray[x:y]))

会将您所说的联接(这里"")放在元素之间作为分隔符,并以 string 返回。 一种好方法是从数组中删除结尾空间并执行以下操作:

print(" ".join(myArray[x:y]))

答案 7 :(得分:0)

enter image description here

print(''.join(myArray[:4])) -> "this is a test"

print(''.join(myArray[4:])) -> "this is another test"

答案 8 :(得分:0)

正如其他人所说,您可以始终使用join:

//generate 10 letters
myArray = [chr(letter) for letter in range(97,107)]
//return letters from 0 to 5
"".join(myArray)[0:5]

但是,我不明白为什么您不能使用这种格式

print[0:5]

就效率而言,后一种选择更好,并且与前一种一样Python化。 当您“加入”数组时,您将对其进行隐式插入,而当最终显示必要的元素时,您将再次进行迭代。