从字符串标签Python中提取二进制类向量

时间:2014-09-08 10:13:47

标签: python

我有很多带标签的课程 - ' A'到H'。我想提取给定标签字符串的二进制向量

'Class A' -> [1, 0, 0, 0, 0, 0, 0, 0]

'Class G' -> [0, 0, 0, 0, 0, 0, 1, 0]

等。有这样做的pythonic方式吗?我可以使用一些if语句来完成它,但是只有几行代码会有更短的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用ord ord A偏移def class_string_to_vector(class_str): _idx = ord(class_str.strip()[-1].upper()) - ord('A') _vec = [0] * 8 _vec[_idx] = 1 return vec 来实现此目的:

{{1}}

答案 1 :(得分:0)

class_arr = ['Class A','Class B','Class C','Class D', 'Class E', 'Class F', 'Class G','Class H']
output = [ 1 if i == class_arr.index('Class A') else 0 for i in range(0,len(class_arr)) ]