从数组中获取前x个字符

时间:2017-04-19 16:05:32

标签: python

假设我有一个像x

这样的数组

我想检索此数组的前7个字符而忽略单元格。所以在这种情况下,如果没有连接各个数组元素,[4, 55, 578, 43, 81, 62, 7181]是可能的吗?感谢。

3 个答案:

答案 0 :(得分:4)

你可以做到

''.join(map(str, arr))[:7]

如果arr非常长,这会浪费时间和空间,因为它会将整个事物转换为字符串,只是为了获取前7个字符。相反,您只能转换前7个元素(假设每个元素至少有一个长度),将 转换为字符串,然后取前7个字符。

''.join(map(str, arr[:7]))[:7]

答案 1 :(得分:2)

我假设你想避免连接整个数组。为了避免这种情况,你可以这样做:

a = [4, 55, 578, 43, 81, 62, 7181]

length = 7
chars = ''
counter = 0

while len(chars) < length:
    chars = chars + str(a[counter])
    counter = counter + 1

chars = chars[:length]
print chars, len(chars)

这会不断添加数组条目中的更多字符,直到字符长度大于您选择的数字。然后它会过滤从最终条目中添加的任何额外字符。

答案 2 :(得分:2)

您可以使用join和列表理解

"".join(str(x) for x in lst)[:7]