+ 1
https://code.sololearn.com/c2UYoGCKIOu9/?ref=app can anyone justify and tell why the output is coming like this? #python #string
Results are very random (at least to me when I tried playing with the codes).
4 Answers
+ 2
Akash Singh this is because you have put different indexes in placeholders{} and when placeholders{} are empty, Python will replace the values passed through str.format in order.
The values that exist within the str.format() method are essentially tuple data types(in your case it is [ nums[0],nums[2],nums[1] ]) and each individual value contained in the tuple can
be called by its index number, which starts with the index number 0. These index numbers can be passes into the curly braces that serve as the placeholders in the original string. So that's why when you type {0} then it is considered as first index of that tupple
+ 1
https://code.sololearn.com/c2UYoGCKIOu9/?ref=app
Use above link to see the code.
+ 1
Arsenic I have the basic idea about the string {} and format [ ] . Can you elaborate a little more and answer why first output value is 6, cause this is neither 1st index of { } nor [ ]?
+ 1
Your code:
nums = [4, 5, 6]
print("Numbers: {1} {2} {0}". format(nums[0], nums[2], nums[1]))
The result:
6 5 4
To understand this, simply replace num[0], num[1] and num[2] with their values:
print("Numbers: {1} {2} {0}". format(4, 6, 5))