IndexError :Replacement index 1 out of range for positional args tuple
Posted 夜未至
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IndexError :Replacement index 1 out of range for positional args tuple相关的知识,希望对你有一定的参考价值。
IndexError->索引异常
报错代码
在进行字符串格式化时报错
# 通过列表索引设置参数
my_list = ['单身狗', '20']
print("姓名:0[0], 年龄 0[1]".format(my_list))#正常的
print("姓名:[0], 年龄 [1]".format(my_list))#异常的
我尝试使用这些语句学习*和**的区别,结果刚刚运行就报错了。
异常描述
发生异常: IndexError
Replacement index 1 out of range for positional args tuple
翻译:
位置参数元组的替换索引 1 超出范围
好像是因为参数数量不对等导致的错误
解决
我采取了format的默认格式化的方式来解决这个问题,代码如下
print("姓名:, 年龄 ".format(*my_list))
#输出结果为:姓名:单身狗, 年龄 20
理由:
单星号(*)的用法–>定义函数时使用:将参数以元组(tuple)的形式导入(收集参数)!
如:
def fun(*args): #*可以接收任意多个
print(args) #此处的args又把接收的任意多个数据放为一个整体:元组中
fun(1,2,3,4)
# 输出为:(1, 2, 3, 4)
既然是元组的索引错误,那就用元组的方式导入,当然这个方法需要借助format的默认格式化方式,format的默认格式化不加位置参数
print(''.format('默认格式化'))
当然我的代码比较简单,需要根据自己的代码做出相对应的调整
sed -i 's/Search_String/Replacement_String/g' Input_File sed详细手册
本文列出的十五个例子可以帮助你掌握 sed 命令。
如果要使用 sed 命令删除文件中的行,去下面的文章。
注意:由于这是一篇演示文章,我们使用不带 -i 选项的 sed 命令,该选项会在 Linux 终端中删除行并打印文件内容。
但是,在实际环境中如果你想删除源文件中的行,使用带 -i 选项的 sed 命令。
常见的 sed 替换字符串的语法。
sed -i ‘s/Search_String/Replacement_String/g‘ Input_File
以上是关于IndexError :Replacement index 1 out of range for positional args tuple的主要内容,如果未能解决你的问题,请参考以下文章
无放回抽样(Sampling without replacement)
sed -i 's/Search_String/Replacement_String/g' Input_File sed详细手册
sed -i 's/Search_String/Replacement_String/g' Input_File sed详细手册