首页 > 试题广场 >

执行下列选项的程序,输出结果为True的是()

[单选题]

执行下列选项的程序,输出结果为True的是()

  • lis = [1,3,2]

    a = id(lis)

    lis = sorted(lis)

    b = id(lis)

    print(a==b)

  • lis = [1,3,2]

    a = id(lis)

    lis += [4,5]

    b = id(lis)

    print(a==b)

  • tup = (1,3,2)

    a = id(tup)

    tup += (4,5)

    b = id(tup)

    print(a==b)

  • tup = (1,3,2)

    a = id(tup)

    tup = sorted(tup)

    b = id(tup)

    print(a==b)

sort 与 sorted 区别:

  1. sort 是应用在 list 上的方法,属于列表的成员方法,sorted 可以对所有可迭代的对象进行排序操作。
  2. list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
  3. sort使用方法为ls.sort(),而sorted使用方法为sorted(ls)
发表于 2022-03-10 22:16:18 回复(2)
sorted方法返回一个新的列表,id指向内存空间,不一致
发表于 2022-01-05 22:16:09 回复(0)
元组本身所指向的内存,实际上保存的是元组内数据的内存地址集合,元组一旦建立,这个内存地址集合就不能修改和删除了。一旦集合内的地址发生改变,就必须重新分配元组空间保存新的内存地址集。
发表于 2022-01-30 11:18:38 回复(0)
 id([object]) 返回对象的内存地址
发表于 2021-12-10 10:17:22 回复(0)
Python元组与列表不同之处在于元组的元素不能修改。元祖一旦建立即分配内存  元祖一旦排序就变成了列表
编辑于 2022-02-26 12:51:37 回复(0)
list是可变对象,即可以在id值不变的条件下进行+=操作;元组是不可变对象,即+=操作前后序列的id值改变。
发表于 2022-08-18 16:55:01 回复(0)
这题A选项是对的
发表于 2021-12-26 16:20:17 回复(2)
sorted调用之后会返回新的列表,即创建了新的内存。
在python中,创建列表的时候会申请一块儿大的内存,如果列表持续增加,会在当前内存块儿上继续开辟新的内存,而不会改变地址。
元祖不同,元祖的变化会引起新的变化,可根据“可变类型”与“不可变类型”跟随记忆
发表于 2022-04-07 15:57:31 回复(0)
lis = [1,3,2]
a = id(lis)
lis.sort()
b = id(lis)
print(a==b)
使用列表自带的sort函数,id一样
发表于 2022-04-02 17:10:11 回复(0)

编辑于 2022-03-31 21:32:46 回复(1)
list列表是可变对象,即进行+=操作id值不变。
元组是不可变对象,即+=操作后id值改变。
案例:
添加元素前后,id值都是一样的


id()返回对象的内存地址
编辑于 2023-03-01 19:49:11 回复(0)
元组(tuple)、数值型(number)、字符串(string)均为不可变对象,而字典型(dictionary)和列表型(list)的对象是可变对象
发表于 2022-10-19 07:55:16 回复(0)
如果是可变对象,则操作前后序列的id值不变,如果是不可变对象,则操作前后序列的id值改变
发表于 2022-07-16 17:44:20 回复(0)
对于可变对象,+=赋值会在原地修改对象,而不是在内存中新建一个对象;而普通赋值则是会在内存中新建一个对象。
发表于 2022-08-27 19:51:54 回复(0)
[1,2,3]==[1,3,2]?
发表于 2022-02-21 08:50:29 回复(3)
sorted进行排序后产生新的序列,因此与原来的地址不一样。对于可变对象,+=操作前后id一致,不可变相反
发表于 2023-07-14 21:01:50 回复(0)
元组是不可变类型,内容发生改变地址也会改变,所以C和D错了,sorted是返回一个新的列表,所以A也错了

发表于 2023-07-05 19:19:05 回复(0)
sorted新生成对象。可变对象修改后id不变,不可变对象修改后创建新id
发表于 2023-06-16 18:16:17 回复(0)
使用sort()会在原地址进行排序,但是使用sorted()进行排序,会在开辟新的内存空间排序
发表于 2022-09-03 16:02:23 回复(0)
id函数返回的是对象的唯一id,在创建后就分配好了,而list是可变类型,所以修改原来l的list,其id不变。
发表于 2022-07-27 18:33:49 回复(0)