有人能给我解释一下这个代码吗-python 3

有人能给我解释一下这个代码吗-python 3,python,Python,为什么我把方括号放在第4行时输出会改变 def x(a,b): d=[] 对于范围(0,a)内的i: d+=str(i)+b 返回d c=x(3,“7”) 印刷品(c) 输出: ['0', '7', '1', '7', '2', '7'] ['07', '17', '27'] def x(a,b): d=[] 对于范围(0,a)内的i: d+=[str(i)+b] 返回d c=x(3,“7”) 印刷品(c) 输出: ['0', '7', '1', '7', '2', '7'] ['07

为什么我把方括号放在第4行时输出会改变

def x(a,b):
d=[]
对于范围(0,a)内的i:
d+=str(i)+b
返回d
c=x(3,“7”)
印刷品(c)
输出:

['0', '7', '1', '7', '2', '7']
['07', '17', '27']
def x(a,b):
d=[]
对于范围(0,a)内的i:
d+=[str(i)+b]
返回d
c=x(3,“7”)
印刷品(c)
输出:

['0', '7', '1', '7', '2', '7']
['07', '17', '27']
为什么输出会这样变化?

很简单

d += 'a' + 'b' # is same as [] + list('ab') = ['a', 'b']
同样地

d += ['a' + 'b'] # is same as [] + ['ab'] = ['ab']
键入“将字符串转换为列表”时,它将创建单个字符的列表作为列表的元素

例如:

a = "Good"
b = list(a)
print(b) # will print as --> ['G', 'o', 'o', 'd']