题目: 列表去掉重复元素,并保持原来的排序

方法一:

# 待处理的列表
L1 = [111,44,55,33,22,11] # 利用集合set的属性,去重
s1 = set(L1) # 把集合转化为列表
L2 = list(s1) # 按照 L1中的index进行排序
L2.sort(key = L1.index) # 得到去重并且维持排序的列表
print(L2)

方法二:

# 待处理的列表
L1 = [111,44,55,33,22,11] # 定义一个空列表
L2 = [] # 通过遍历L1列表,遍历的过程是遵循L1的排列顺序
# 将不重复的数值,依次放入L2中
for i in L1:
if i not in L2:
L2.append(i) # 得到不重复,而且保持L1排序的新列表
print(L2)

Python面试题目之列表去重并维持原来顺序的更多相关文章

  1. Python面试题目之列表取值超出范围

    # 下面列表取值超出范围,会报错还是有返回值: L1 = [',]print(L1[10]) print(L1[10:]) 第一个打印会报错: 第二个打印会返回一个空列表

  2. python 使用set对列表去重,并保持列表原来顺序

    # python 使用set对列表去重,并保持列表原来顺序 list1 = ['cc', 'bbbb', 'afa', 'sss', 'bbbb', 'cc', 'shafa'] for item i ...

  3. Python面试题目之打乱打乱有序列表

    # 要求打乱一个有序列表 # 待处理列表 L1 = [11,22,33,44,55,66,77,] 方法: # 引入random模块,该模块的shuffle方法见下图 import random L1 ...

  4. Python面试题目--汇总

    原文链接-https://github.com/taizilongxu/interview_python Python语言特性 1 Python的函数参数传递 2 Python中的元类(metacla ...

  5. python面试题目

    问题一:以下的代码的输出将是什么? 说出你的答案并解释. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Parent(object):     x = 1   clas ...

  6. Python面试题目之Python函数默认参数陷阱

    请看如下一段程序: def extend_list(v, li=[]): li.append(v) return li list1 = extend_list(10) list2 = extend_l ...

  7. Python面试题目之深浅拷贝浅析

    # copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. **只是简单的指针赋值 # copy.deepcopy 深拷贝 拷贝对象及其子对象 **指针赋值,且内容拷贝 用一个简单的例 ...

  8. Python面试题目之Python的复制和赋值浅析

    python采用的是引用变量的结构,也就说如果你对一个变量赋值,并不是给这个变量开辟了一块内存空间而是将一个对象的内存空间地址告诉了这个变量,这样做的好处是便于管理,节省内存空间,便于内存释放等等.但 ...

  9. Python面试题目之(针对dict或者set数据类型)边遍历 边修改 报错dictionary changed size during iteration

    # result 是一个字典, 把里面属性值是None的属性删除 for key in result: if not result[key]: del result[key] continue 但是报 ...

随机推荐

  1. Effective C++ —— 继承与面向对象设计(六)

    条款32 : 确定你的public继承塑模出is-a关系 以C++进行面向对象编程,最重要的一个规则是:public inheritance(公开继承)意味“is-a”(是一种)的关系.请务必牢记.当 ...

  2. C++11新特性之二——std::bind std::function 高级用法

    /* * File: main.cpp * Author: Vicky.H * Email: eclipser@163.com */ #include <iostream> #includ ...

  3. LLDB调试器

    你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThisThing); 或者跳过一个函数调用来简化程序的行为? NSNu ...

  4. Sql中将字符串按分割符拆分

    创建函数 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create FUNCTION [dbo].[F_Split] ( @SplitString ...

  5. CSS-项目中遇到IE兼容问题,处理随笔

    总是忘记给ie做特殊样式处理,以前打游击,不做也就算了,以后可不行,得对自己的“孩子”负责.. 一.先说IE老大的兼容 知道了一些常用的css属性兼容方法确实可以解决问题, 但我不知道我自己的ieTe ...

  6. 窗口大小改变绑定resize事件

    当为窗口绑定resize事件时,大部分浏览器会在每改变一个像素就触发一次resize事件.这严重影响了网站的性能. 解决方案是:利用settimeout方法为事件发触发的方法设置延迟执行的时间. 实现 ...

  7. Linux显示不了中文

      原文:https://www.cnblogs.com/hooly/p/8615384.html 版权所有:归属原文作者!!!  查看当前系统默认采用的字符集: # locale 在RedHat/C ...

  8. WCF(五) 深入理解绑定

    适用于本机WCF-WCF交互性能最佳的绑定: 允许跨主机,但只能用于部署同一台主机上,不能访问命名管道 netNamePipeBinding总结 一 WCF与SOA SOA是一种通过为所有软件提供服务 ...

  9. eclipse启动报错 Problems occurred when invoking code from plug-in: "org.eclipse.jface"

    eclipse在使用中可能会发生错误: Problems occurred when invoking code from plug-in: "org.eclipse.jface" ...

  10. CentOS中用户不在 sudoers 文件中。此事将被报告。

    首先切换为root用户 su root; 然后更改etc/sudoers文件的只读为可读可写可执行. sudo chmod 777 /etc/sudoers 输入visudo命令即可编辑文件,找到ro ...