[英]How do I convert an array of strings to a list of numbers?
我想将数组中包含单词的所有字符串转换为ints。
清单是:
['Met', 'Mod', 'Goa', 'Con', 'Bac', 'Bac', 'Bac', 'Mod', 'Mod', 'Bac',
'Bac', 'Bac', 'Bac', 'Bac', 'Goa', 'Mod', 'Bac', 'Bac', 'Goa', 'Mod',
'Mod', 'Mod', 'Mod', 'Bac']
我想将Met
分配给1
,将Mod
分配给2
,将Goal
分配给3
,将Con
分配给4
,将Bac
分配给5
。
我如何将清单做成这个:
['1', '2', '3', '4', '5', '5', '5', '2', '2', '5', '5', '5', '5', '5',
'3', '2', '5', '5', '3', '2', '2', '2', '2', '5']
使用字典。
d = {'Met':1, 'Mod':2, 'Goa':3, 'Con':4, 'Bac':5}
l = ['Met', 'Mod', 'Goa', 'Con', 'Bac', 'Bac', 'Bac', 'Mod',
'Mod', 'Bac', 'Bac', 'Bac', 'Bac', 'Bac', 'Goa', 'Mod',
'Bac', 'Bac', 'Goa', 'Mod', 'Mod', 'Mod', 'Mod', 'Bac']
new_list = list(map(d.get, l))
结果:
>>> new_list
[1, 2, 3, 4, 5, 5, 5, 2, 2, 5, 5, 5, 5, 5, 3, 2, 5, 5, 3, 2, 2, 2, 2, 5]
请注意,我已按照您的要求将每个关键字分配给一个数字 ,而不是您所演示的代表一个数字的字符串 。
l = {'Met':1, 'Mod':2, 'Goa':3, 'Con':4, 'Bac':5}
lst = ['Met', 'Mod', 'Goa', 'Con', 'Bac', 'Bac', 'Bac', 'Mod', 'Mod', 'Bac','Bac', 'Bac', 'Bac', 'Bac', 'Goa', 'Mod', 'Bac', 'Bac', 'Goa', 'Mod', 'Mod', 'Mod', 'Mod', 'Bac']
new = []
for each in lst:
new.append(l[each])
print new
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.