接上一篇。。。。。。。。。。。。。

0x01:列表的去重操作

al = [1, 1, 2, 3, 1, 2, 4]
#set方法元素去重
al_set = set(al)
print(list(al_set)) #集合不支持索引操作,可以先将之转换为列表
#formkeys方法
al2 = {}.fromkeys(al).keys()
print(list(al2)) #同集合,也是先将之转换成列表
#列表推导式
al3 = []
for a in al:
if a not in al3:
al3.append(a)
print(al3)

输出结果均为:[1, 2, 3, 4]

0x02:把字符串中,除间隔符以外的所有字符转换为一个列表

加入有个字符串s = "1, 2, 3",怎么将他转换成列表['1','2','3']?
这里我们不能直接用list函数,那样会把中间的','间隔符也加入到列表里,这里可以用上篇文章提到过的split函数,只需要把分隔符指定为','就可以了,如下,就可以输出我们想要的结果了 s = "1, 2, 3"
print(s.split(','))

 0x03:找出两个数组中相同和不同元素

A = [1, 2, 3, 4, 5]
B = [1, 3, 5, 7, 9, 10]
#找出两list中的相同元素
a = [x for x in A if x in B]
print(a)
#找出两list中的不同元素
b = [y for y in (A+B) if y not in a]
print(b)
#在A中不在B中的元素
c = [m for m in A if m not in B]
print(c)
#在B中不在A中的元素
d = [n for n in B if n not in A]
print(d)

依次输出的结果为:

[1, 3, 5]
[2, 4, 7, 9, 10]
[2, 4]
[7, 9, 10]

0x04:一行输出列表

#一行输出列表
l = ['a', 'b', 'c', 'd', 'e']  #元素是字符类型
print(''.join(l))
m = [1, 2, 3, 4, 5, 6, 7, 8, 9]  #元素不是字符类型
print(''.join(map(str, m))) #map函数,根据提供的函数对制定的序列做映射
n = [[1, 2], [3, [4,5,6]], [5, 6]]#元素是列表类型
print([y for x in n for y in x])

输出结果依次为:

abcde
123456789
[1, 2, 3, [4, 5, 6], 5, 6]

0x05:列表合并

列表可以像字符串那样直接用‘+’连接,也可以用extend方法将一个列表中的元素全部添加到另一个列表中,只不过前者是生成一个新的列表,后者是更新一个列表

#合并列表
a = [1, 5, 7, 9]
b = [2, 2, 6, 8]
print(a+b)
a.extend(b)
print(a)

输出结果均为:[1, 5, 7, 9, 2, 2, 6, 8]

0x06:打乱列表元素

我么可以用random中的shuffle方法对一个列表里面的元素进行打乱,操作如下

#打乱列表元素
from random import shuffle
a = ['a', 1, 'b',5, 6, 9, 78]
shuffle(a)
print(a)

每次运行输出的顺序不同。

(ps:若有写的不对的地方,欢迎大佬随时指正,,,,,xixix)

python面试题(三)列表操作的更多相关文章

  1. python学习笔记(三)-列表&字典

    列表: 一.列表操作"""Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.比如,列出班里所有同学的名字,就可以用一 ...

  2. Python面试题 —— 获取列表中位数

    中位数是一个可将数值集合划分为相等的上下两部分的一个数值.如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数:如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位 ...

  3. Python面试题之列表推导式

    题目要求: 生成如下列表 [[0,0,0,0,0,],[0,1,2,3,4,],[0,2,4,6,8,],[0,3,6,9,12,]] (考察列表生成式和基本逻辑推理) 方法1: list1 = [] ...

  4. python 复制以及更改列表操作

    题目:设置一个老用户列表和一个新用户列表,检查老用户列表中是否与新注册的用户名字有重复(不区分大小写),老用户列表不能被破坏 usernames = ['admin','Tom','john','ja ...

  5. python面试题三:Python 网络编程与并发

    1 简述 OSI 七层协议. OSI七层协议模型主要是: 应用层(Application):为用户的应用程序(例如电子邮件.文件传输和终端仿真)提供网络服务. 表示层(Presentation):使用 ...

  6. python面试题(三)

    一.项目技术点梳理 (一)Django项目 本项目是用python的Django框架开发的前后端不分离项目.项目采用MVT架构,使用的MySQL和redis数据库,用Django自带的orm与数据库交 ...

  7. 19.python基础试题(三)

    转载: 老男孩 Python 基础知识练习(三):https://www.cnblogs.com/nulige/p/6128674.html 1.列举布尔值为 False 的值空,None,0, Fa ...

  8. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  9. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  10. Python面试题 —— 计算列表中出现最多次的字符

    给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式, 当检查最想要的字母时,不区分大小写,所以在你的搜索中 "A" == &quo ...

随机推荐

  1. windows消息值全部定义,从消息值得到消息名称(系统消息定义从0到1023,从1024开始就是WM_USER,但是中间有325个WM_undefined消息,估计是备用,另外各控件都有一些reserved消息,也是为了备用)LostSpeed

    前言 在逆向算法扫描插件时, 遇到一个windows消息值在msdn中没有定义. 去查资料, 有个老外将全部windows消息值和消息名称定义都码好了:) 写个测试程序, 封装了一个接口, 从消息值得 ...

  2. 常见信号的模拟仿真(matlab)(spike signal)

    1. 一维信号 构造离散时间向量: Fs = 1000; % sampling frequency,采样频率 T = 1/Fs; % sampling period,采样周期 L = 1000; % ...

  3. JSON的一些要点总结 专题

    JavaScript Object Notation CSRF (pronounced sea-surf) 字面量(literal):字符串的意思和要表达的意思是一致的 JSON 是一种数据交换格式( ...

  4. 【转】postgresql 9.4 在linux环境的安装步骤详解

    本文章来为各位介绍一篇关于postgresql 9.4 在linux环境的安装步骤详解,希望文章能够对各位新手朋友带来帮助的哦. 环境说明系统:centos 6.4 64位软件:postgresql ...

  5. 关于Socket的建立及连接

    最近在做一个东西,目前考虑的是采用Socket连接,从网上找了一个SuperSocket的socket通信框架.... 关于Socket连接,个人并不是搞得太懂,写的东西也全是个人理解,那么这里先整理 ...

  6. 从一段简单算法题来谈二叉查找树(BST)的基础算法

    先给出一道很简单,喜闻乐见的二叉树算法题: 给出一个二叉查找树和一个目标值,如果其中有两个元素的和等于目标值则返回真,否则返回假. 例如: Input: 5 / \ 3 6 / \ \ 2 4 7 T ...

  7. 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...

  8. 如何将svg转换为xaml

    原文:如何将svg转换为xaml 1 下载Inkscape 2 用Inkscape打开svg,另存为xaml 注意:复杂的svg图转换完会出现类似下面的xaml,wpf/silverlight是无法解 ...

  9. Android adb你真的会用吗?

    前言 本文基于Android官方文档, 以及个人工作的使用经验, 总结下adb的常用用法, 备忘. 1.adb 简介 adb全名Andorid Debug Bridge. 顾名思义, 这是一个Debu ...

  10. C# ACCESS 向含有自动编码字段表中添加记录提示“查询值的数目与目标字段中的数目不同”

    引发错误的SQL语句如下: sqlStr = "insert into tb_ReportLog values('" + DevSite + "','" + D ...