已有183人关注
序列切片,sort排序问题
发表在Python图书答疑 2020-03-11 悬赏:2 学分 《Python编程入门指南》第5章 序列的应用
是否精华
版块置顶:
list1 = ['1', 'a', '2', 'b', '3', 'c', '4', '8', '7', '6', '5', 'a', 'b']
item = list1[:]         # 这里有点不懂,[:]不加的话,最后恢复排序会报错 ValueError: '1' is not in list
print(item)
for i in list1:
    while item.count(i) > 1:
        print(item[item.index(i)], 'item[', item.index(i), ']',  '删除')
        del item[item.index(i)]
        print(item)
print('去重结束\n输出item', item)
item.sort(key=list1.index)
print('恢复排序\n输出item', item)


分享到:
精彩评论 2
淡.印象
学分:323 LV5
TA的每日心情
学习Python
2020-11-23 22:17:24
2020-03-11
沙发

读者您好:

    如果直接使用item=list ,表示创建了一个指引指向列表,而不是真正的列表类型,所以会导致错误。而item=list[:]是复制列表,是列表类型。

lkhight
学分:665 LV6
2020-03-11
板凳

淡.印象 发表于2020-03-11 22:23

读者您好:

    如果直接使用item=list ,表示创建了一个指引指向列表,而不是真正的列表类型,所以会导致错误。而item=list[:]是复制列表,是列表类型。

精彩的讲解,mark一下:为了创建副本而不是单纯引用

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照