【发布时间】:2021-02-26 19:20:02
【问题描述】:
我正在尝试在c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper()) 中搜索" 以获取它和它前面的所有信息。即我想要12"
我以为我可以搜索" 所在的位置...
def find_nps_via_comma_item_one():
nps = '"'
print(c_item_number_one.find(nps))
find_nps_via_comma_item_one()
Image showing above function results in 2 然后在它之后切掉所有东西
c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())
def find_nps_via_comma_item_one():
nps = '"'
print(c_item_number_one.find(nps))
find_nps_via_comma_item_one()
item_one_nps = slice(3)
print(c_item_number_one[item_one_nps])
问题:返回错误
print(c_item_number_one[item_one_nps])
TypeError: slice indices must be integers or None or have an __index__ method
如何将函数的结果转换为整数?我尝试将print(c_item_number_one.find(nps)) 更改为return(c_item_number_one.find(nps)),但随后它完全停止给出值。
最后,切片部分不会产生我正在寻找的完整答案12"。即使我输入了函数2产生的值
item_one_nps = slice(2)
print(c_item_number_one[item_one_nps])
它只给我12。我需要+1函数结果。
【问题讨论】:
-
你的
find_nps_via_comma_item_one没有返回任何东西,所以你得到了None。 -
@MarkRansom 它在 JupyterLab 中返回 2。我在上面添加了一个片段链接来显示结果。
-
打印东西不与返回东西一样。您的函数中没有
return语句。 -
@MarkRansom 感谢您的建议。第二条评论最终让我意识到我最初是在正确的轨道上,但在切片时忘记添加我的
()。