python面试100讲学习笔记——DAY1

python面试题 学习笔记

第二章 列表、元组和字典``

1.去掉列表或元组中的重复元素

(1)列表和集合的区别:
a.集合没有重复的元素,而列表可以有重复的元素
b.集合中的元素与顺序无关,而列表中的元素与顺序有关

>>> a1 = [1,2,3]
>>> a2 = [3,2,1]
>>> print(a1 == a2)
False
>>> c1 = {1,2,3}
>>> c2 = {3,2,1}
>>> print(c1 == c2)
True
>>> 

(2)集合的特性:
a.没有重复的元素
b.集合中的元素与顺序无关

(3)列表如何去重:
将列表转换为集合,再转换回列表,利用集合的性质去重。

2.集合的并与交集

集合不是按顺序存储的,所以不能按索引来删除。

(1)添加和删除集合中的元素

>>> x = {3,2,1}
>>> x.add(123)
>>> x
{123, 1, 2, 3}
>>> x
{123, 1, 2, 3}
>>> x.add(1)
>>> x
{123, 1, 2, 3}
>>> x.remove(123)
>>> x
{1, 2, 3}

(2)集合之间的运算

>>> x1 = {1,2,3}
>>> x2 = {3,4,5}
>>> print('x1和x2合并:',x1|x2)
x1和x2合并: {1, 2, 3, 4, 5}
>>> print('x1和x2合并:',x1.union(x2))
x1和x2合并: {1, 2, 3, 4, 5}
>>> print('x1和x2相交:',x1&x2)
x1和x2相交: {3}
>>> print('x1和x2相交:',x1.intersection(x2))
x1和x2相交: {3}
>>> print(x1.difference(x2)) #在x1中剔除x2中也有的元素
{1, 2}
>>> print(x1^x2) #刨除x1和x2共用的元素,返回值是集合并的子集
{1, 2, 4, 5}

3.如何让两列表首尾相接
(1)连接列表的方式有两种:+和extend,元组只有一种:+

>>> a = [1,5,7,9,6]
>>> b = [2,3,3,6,8]
>>> print(a+b)
[1, 5, 7, 9, 6, 2, 3, 3, 6, 8]
>>> a
[1, 5, 7, 9, 6]
>>> b
[2, 3, 3, 6, 8]
>>> a.extend(b)
>>> print(a)
[1, 5, 7, 9, 6, 2, 3, 3, 6, 8]

(2)元组和列表连接的差异
a. +不会改变参与连接的列表的值,但extend方法可以改变a列表的值
b. +两侧的操作数必须是一致的,都是列表或者都是元组,不能混合加。extend方法可以将一个元组连接到列表后面。由于元组是只读的,所以没有元组extend方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值