In Python, the error “IndexError: Replacement index 1 out of range for positional args tuple” happens when the occurrence of the placeholder is more than the occurrence of the argument. Please read the following article to resolve the error quickly.
IndexError: Replacement index 1 out of range for positional args tuple”
Example:
myStr = 'visit learnshareit website' print("{} {}".format(testStr))
Output:
Traceback (most recent call last):
File "./prog.py", line 2, in <module>
print("{} {}".format(myStr))
IndexError: Replacement index 1 out of range for positional args tuple
How to solve this error?
I will use the format() function to format a given value into a specific format.
Syntax:
format(value, format_spec)
Parameters:
- value: the value you want to format.
- format: the format you want for the value.
Format string containing {} as a placeholder.
Remove the placeholder or add arguments
As I mentioned in the cause, this error is caused by more placeholders than arguments. So there are two workarounds:
- Method 1: add arguments.
- Method 2: remove the placeholder.
Example method 1:
- I need to add one more argument, ‘strObj2’ to match the 2 placeholders.
myStr1 = 'visit learnshareit website' myStr2 = '!!!' # Add one more argument print("{} {}".format(myStr1, myStr2))
Output:
visit learnshareit website !!!
Example method 2:
- I removed a placeholder {} to match one argument.
Example:
firstStr = 'visit learnshareit website' # Removed a placeholder {} to match one argument print("{}".format(firstStr))
Output:
visit learnshareit website
Use positional arguments to sort the order
You try two arguments, and you want to insert them into two placeholders.
Example:
- Declare two arguments as two strings.
- Use positional arguments to sort the order. Positional argument 0 corresponds to the first argument, and position argument 1 corresponds to the second argument.
firstStr = 'visit learnshareit website' secondStr = '!!!' # Use the format() function with an argument that supports string ordering print("{0} {1}".format(firstStr, secondStr))
Output:
visit learnshareit website !!!
Note: you can swap positional arguments freely but pay attention to the meaning of the output.
If you want to insert the same argument value for both placeholders, the positional argument is set to 0 for both placeholders.
Example:
firstStr = 'visit learnshareit website' print("{0} {0}".format(firstStr))
Output:
visit learnshareit website visit learnshareit website
Note: I take, for example, 2 placeholders and 2 arguments; actually, you can take as many as you want.
Summary
If you have any questions about the “IndexError: Replacement index 1 out of range for positional args tuple” error in Python, please leave a comment below. I will answer your questions. Thanks for reading!
Maybe you are interested:
- ModuleNotFoundError: No module named ‘tensorflow’ in python
- IndexError: list index out of range in Python
- How To Solve IndexError: String Index Out Of Range In Python

My name is Jason Wilson, you can call me Jason. My major is information technology, and I am proficient in C++, Python, and Java. I hope my writings are useful to you while you study programming languages.
Name of the university: HHAU
Major: IT
Programming Languages: C++, Python, Java