list=['world','python']
print('hello {0[0]} i am {0[1]}'.format(list)) #输出结果:hello world i am python
此处0[0]为什么需要第一个0?直接[0]不可以吗
list=['world','python']
print('hello {0[0]} i am {0[1]}'.format(list)) #输出结果:hello world i am python
此处0[0]为什么需要第一个0?直接[0]不可以吗
python中format参数:
有点类似函数传参,有多种方式
可以直接这样"{} {} {}".format(1,2,3)
那么参数会按照{}出现在字符串里的位置(顺序)传进来,类似按位置传参
也可以指定"{1} {0} {2}".format(1,2,3)
那么1会传给{0},2会传给{1},类似按名称传参
-=-=-=-
具体到你这个代码,因为你后面只传入了1个参数,那么前面肯定是都要统一使用{0}来接受参数的,不能用{1},那样接受不到参数
{0[0]}表示第0个参数的第0个元素,传入的参数必须是个集合
你直接写[0],没有外面的{}包装,那么它只是个字符串,起不到指定参数的作用
-=-=-=-=-=-=
再回到你的问题,没有{}肯定是不可以的,但是没有外面的0,变成这样{[0]},应该是也可以的。反正你后面只有一个参数,不会引发歧义。但是如果有多个参数那就不行了。可能写代码的人为了给后面继续加参数预留了接口,避免加参数需要修改前面的字符串,所以才这么写的吧。