基于函数的故障切片 +1
Trouble slicing based on function +1
我正在尝试在 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
函数结果。
print 语句将值打印到控制台,而 return returns 是调用函数的值。
在您的代码中,您没有存储该值,只是将其打印到控制台,即使您使用 return 而不是打印,您也没有使用 returned 值。
1
被添加到切片中,因为切片时 python 排除了停止索引,因此要包含您添加的停止索引 1
c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())
def find_nps_via_comma_item_one():
nps = '"'
return(c_item_number_one.find(nps))
item_one_nps = slice(find_nps_via_comma_item_one()+1)
print(c_item_number_one[item_one_nps])
下面的代码比较冗长。
c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())
def find_nps_via_comma_item_one():
nps = '"'
return(c_item_number_one.find(nps))
index = find_nps_via_comma_item_one()
item_one_nps = slice(index+1)
print(c_item_number_one[item_one_nps])
你可以
sep_char = "\""
c_item_number_one.split(sep_char)[0] + sep_char
我正在尝试在 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
函数结果。
print 语句将值打印到控制台,而 return returns 是调用函数的值。
在您的代码中,您没有存储该值,只是将其打印到控制台,即使您使用 return 而不是打印,您也没有使用 returned 值。
1
被添加到切片中,因为切片时 python 排除了停止索引,因此要包含您添加的停止索引 1
c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())
def find_nps_via_comma_item_one():
nps = '"'
return(c_item_number_one.find(nps))
item_one_nps = slice(find_nps_via_comma_item_one()+1)
print(c_item_number_one[item_one_nps])
下面的代码比较冗长。
c_item_number_one = (r'12" Pipe SA-106 GR. B SCH 40 WALL smls'.upper())
def find_nps_via_comma_item_one():
nps = '"'
return(c_item_number_one.find(nps))
index = find_nps_via_comma_item_one()
item_one_nps = slice(index+1)
print(c_item_number_one[item_one_nps])
你可以
sep_char = "\""
c_item_number_one.split(sep_char)[0] + sep_char