我讨厌不得不问这样一个基本的问题,但是我似乎无法让split方法在python中工作。
我有一本字典,当我打印它时,它看起来像:
data_dict = <QueryDict: {u'ids': [u'1012,738'], u'ct': [u'9']}>
我想从“ ids”列表中创建一个id对象数组,如下所示:
ids = [1012, 738]
看来列表“ ids”实际上只是由逗号分隔的一串ids,所以我尝试了:
id_string = data_dict['ids']
ids = id_string.split(',')
for id in ids:
print(id)
什么都没打印。然后我想,也许u的意思不是字符串,我需要先将其转换为字符串才能拆分以工作,所以我尝试了:
id_string = data_dict['ids']
id_string = str(id_string)
ids = id_string.split(',')
for id in ids:
print(id)
什么都没打印。不知道我在做什么错。
最佳答案
[u'1012,738']
是一个列表,因此您必须使用id_string = data_dict['ids'][0]
从该列表中获取第一个元素。
要将字符串的项目转换为整数列表,请使用map
或list comprehension
:
#map
map(int, data_dict['ids'][0].split(','))
#LC
[int(x) for x in data_dict['ids'][0].split(',')]
演示:
>>> strs = '1012,738'
>>> map(int, strs.split(','))
[1012, 738]
>>> [int(x) for x in strs.split(',')]
[1012, 738]
关于python - 使用Python分割字符串方法的难度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17239735/