选择字符串numpy数组中的字符(Python)

时间:2016-02-04 12:20:05

标签: python arrays string numpy

我有像这样的字符串numpy.ndarray

HHMM = ['0000' '0001' '0002' '0003' '0004' '0005' '0006' '0007' '0008' '0009' ...]

这里前两个元素是小时和最后两分钟。为了转换为时间格式(使用日期时间),我想分隔这些字符。

我试过

hour   = HHMM[::][0:2]
minute = HHMM[::][2:4]

但结果就是这个

print hour
['0000' '0001']

print minute
['0002' '0003']

2 个答案:

答案 0 :(得分:3)

为什么不是简单的理解列表:

[u[:2] for u in HHMM]
#Out[39]: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09']

[u[-2:] for u in HHMM]
#Out[40]: ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09']

答案 1 :(得分:1)

示例:

for i in range(len(HHMM)):
    hour = HHMM[i][0:2]
    minute = HHMM[i][2:]
    print('Time: {}:{}'.format(hour, minute))

输出

Time: 00:00
Time: 00:01
Time: 00:02
Time: 00:03
Time: 00:04
Time: 00:05
Time: 00:06
Time: 00:07
Time: 00:08
Time: 00:09

修改

HHMM = ['0000', '0001', '0002', '0003', '0004', '0005', '0006', '0007', '0008', '0009']

hours = []
minutes = []

for i in range(len(HHMM)):
    hours.append(HHMM[i][0:2])
    minutes.append(HHMM[i][2:])

print('Hours: {}'.format(list(hours)))
print('Minutes: {}'.format(list(minutes)))