Python 索引超出范围?_
Python index out of range?_
该函数应删除 () 之间的参数并将它们作为单个参数插入列表中。 (测试 test2)有效。在 (Test Test2) (Test3 Test4) 它显示错误:
if args[i].startswith('('):
IndexError: list index out of range
函数如下:
def format_args(args):
start_string = None
end_string = None
in_string = False
o_string = ''
for i in range(1, len(args)):
if args[i].startswith('('):
if not in_string:
start_string = i
in_string = True
if in_string:
if args[i].endswith(')'):
o_string += args[i]
end_string = i
for r in range(start_string, end_string+1):
args.pop(start_string)
args.insert(start_string, o_string)
o_string = ''
in_string = False
else:
o_string += args[i] + ' '
return args
inp = raw_input('args: ')
args = inp.split(' ')
args.insert(0, "test")
print(format_args(args))
我一行解决了这个问题:
args_o = "".join(args).split('\"')
郁闷我需要一个小时..
该函数应删除 () 之间的参数并将它们作为单个参数插入列表中。 (测试 test2)有效。在 (Test Test2) (Test3 Test4) 它显示错误:
if args[i].startswith('('):
IndexError: list index out of range
函数如下:
def format_args(args):
start_string = None
end_string = None
in_string = False
o_string = ''
for i in range(1, len(args)):
if args[i].startswith('('):
if not in_string:
start_string = i
in_string = True
if in_string:
if args[i].endswith(')'):
o_string += args[i]
end_string = i
for r in range(start_string, end_string+1):
args.pop(start_string)
args.insert(start_string, o_string)
o_string = ''
in_string = False
else:
o_string += args[i] + ' '
return args
inp = raw_input('args: ')
args = inp.split(' ')
args.insert(0, "test")
print(format_args(args))
我一行解决了这个问题:
args_o = "".join(args).split('\"')
郁闷我需要一个小时..