xingchen.luo 发表于 2021-3-25 11:57:07

list()拼接

程式1
def A(x):
    a = []
    while x != 6:
      x += 1
      a = list() + a
    print(a)

A(0)

程式2
def get_digits(n):
    result = []
    while n >= 10:
      result = list() + result
      n = n // 10
    if n >= 0:
      result = list() + result
    print(result)

get_digits(123456)

程式1的a = list() + a和程式2的result = list() + result拼接顺序相同,为什么程式1的输出值为,而程式2的输出值为,相反了?

小伤口 发表于 2021-3-25 12:15:49

第一个
def A(x):
    a = []
    while x != 6:
      x += 1
      a = list() + a
    print(a)

A(0)
列表添加顺序是 :最后添加的元素位置是0
最先添加的是最后的位置
a=[]
>>> a=list()+a
>>> a=list()+a
>>> a

>>>
所以第一个打印是

第二个
def get_digits(n):
    result = []
    while n >= 10:
      result = list() + result
      n = n // 10
    if n >= 0:
      result = list() + result
    print(result)

get_digits(123456)
你给函数的值是123456
也就是n=123456

>>> 123456%10
6
所以第二添加顺序是654321
所以排序就是123456
打印就是123456
页: [1]
查看完整版本: list()拼接