提问人:D. Forrester 提问时间:2/18/2017 最后编辑:glennslD. Forrester 更新时间:10/18/2017 访问量:48
在python中将Array position中的String转换为position并返回顺序
Converting String in Array position into position and return the order in python
问:
我一直在研究列表和数组。在这个任务中,我需要(按顺序)返回句子,但不是按顺序返回句子,而是需要返回单词所在的位置,所以这是我当前的代码:
sentence = "Hello my name is Daniel, hello Daniel"
sentence = sentence.upper()
sentence = sentence.split()
list = sentence
返回:
['HELLO', 'MY', 'NAME', 'IS', 'DANIEL,', 'HELLO', 'DANIEL']
但期望的结果是:
[0, 1, 2, 3, 4, 0, 4]
有谁知道我如何通过添加更多代码从给定的代码中获得此结果?
答:
2赞
McGrady
2/18/2017
#1
看来你不想得到,所以你应该替换逗号或删除它。然后使用 index 方法返回列表中出现的 obj 的最低索引。Daniel
Daniel,
sentence = "Hello my name is Daniel, hello Daniel"
sentence = sentence.replace(',','').upper()
sentence = sentence.split()
print [sentence.index(i) for i in sentence]
它回来了
[0, 1, 2, 3, 4, 0, 4]
评论
0赞
D. Forrester
2/18/2017
谢谢!!!如果变量“sentence”是用户输入的句子,此方法是否有效?
0赞
McGrady
2/18/2017
@D.Forrester:是的。如果这有帮助,请接受这个答案。
0赞
D. Forrester
2/18/2017
sentence = sentence.replace(“,”,'“',”'“).upper() AttributeError: 'list' 对象没有属性 'replace' 当我将句子变成用户输入的变量时,发生了此错误。你知道为什么吗?@McGrady
0赞
McGrady
2/18/2017
@D.Forrester 确保是一个字符串,然后使用 method。要以字符串形式获取输入,您应该在 Python2 或 Python3 中使用。sentence
split()
raw_input
input
评论
'DANIEL,'
'DANIEL'
4