【发布时间】:2019-07-30 15:35:53
【问题描述】:
我使用了列表中的简单字符串转换函数(实际上是 dict),并且字符串函数用完了索引到期(它最终以 None 作为输入之一)。下面的函数调用在遇到错误字符串时会杀死它
test_s=s_i.split("Inv/", 1)[1].split(">",1)[0]
Q1) 我的循环在拆分时中断,拆分时会吐出列表索引超出范围错误。如何让它跳过这个字符串,显示警告,仍然继续用 + 连接字符串?
或者你能帮忙提出更好的方法来做这个拆分吗?
Q2) 如何解决拆分问题? (即我该如何调试)
Q3) 另外,如何在 python 中输入(提示 python 用户输入提示)相同的列表?
下面是我尝试运行的代码: 示例输入 - 它实际上是 100 多个项目的列表:
a_dict={'1234': <Batman:/Inv/Batman/xyzhash>,'4567': <Superman:/Inv/Superman/xyzhash, ..100 more items>
test_f=""
test_s=""
s_i=""
for ind_values in a_dict.values():
s_i=str(ind_values)
test_s=s_i.split("Inv/", 1)[1].split(">",1)[0]
test_f +=test_s+","
s_i=str(ind_values) 是第 26 行,但我认为它正在吹向 test_s=s_i.split("Inv/", 1)[1].split(">",1)[0]。
Error message:
Traceback (most recent call last):
File "<string>", line 26, in <module>
IndexError: list index out of range
【问题讨论】:
-
100+ 项并不大
-
您在
test_s=s_i.split("Inv/", 1)[1].split(">",1)[0]中塞满了很多东西 - 其中一个列表比您想象的要短,也许可以尝试在那里进行一些调试。 -
您应该发布完整的回溯。这将显示你有错误的实际行。
-
list_with_hundreds_of_items似乎是dict? -
什么是
a_list?如果你在上面调用values,我很确定它不是一个列表......