Python_jupyter notebook基础知识(2)(列表,元组,字典)

本文详细介绍了Python中的主要数据结构,包括可变类与不可变类的区别,元组、列表、字典和集合的使用。重点讨论了列表的插入、删除、排序、切片等操作,以及字典的创建和访问方式。此外,还探讨了列表和集合推导式,以及在实际编程中如何选择合适的数据结构。
摘要由CSDN通过智能技术生成

目录

range

 可变类和不可变类

Tuple(元组)

 List

Tuple和list通用函数

Adding and removing elements

Insert

Pop 

Remove

 in

 连接和组合列表

Sort

 slice

 Dict

 ​

Set

 列表,集合和字典推导式


range

range函数产生一个均匀间隔的整数列表:

range数据的创建是从0开始的。

range(5)等价于range(0,5)

range还有一种用法是range(x,y,z)

范围就是从x到y-1,z代表步长:

range经常被用来遍历索引序列:

 可变类和不可变类

Python中的大多数对象都是可变的,比如列表、字典、NumPy数组或大多数用户定义的类型(类)。这意味着它们包含的对象或值可以被修改。其他的,如字符串和元组,是不可变的:

当尝试改变元组元素时,程序会发生报错。 同理字符串:

Tuple(元组)

tuple是一种一维、固定长度、不可变的Python对象序列。最简单的创建方法是使用逗号分隔的值序列:

在更复杂的表达式中定义元组时,通常需要将值括在圆括号中,就像在创建元组的元组的例子中一样:

任何序列或迭代器都可以通过调用tuple转换为元组: 

与大多数其他序列类型一样,可以使用方括号[]访问元素。像C、c++、Java和许多其他语言一样,序列在Python中是0索引的:

tuple和list都有一个非常有用的功能count() ,它可以计算一个值的出现次数

 List

与元组相反,列表是可变长度的,并且可以修改其内容。它们可以使用方括号[]或使用列表类型函数来定义:

Tuple和list通用函数

列表和元组在语义上类似于一维对象序列,因此可以在许多函数中互换使用。

Adding and removing elements

Insert

 

Pop 

insert的逆操作是pop,它删除并返回一个特定索引处的元素:

Remove

元素可以使用remove来按值删除,它会找到第一个这样的值并将其从列表中删除:

 in

你可以使用in关键字检查一个列表是否包含一个值:

 连接和组合列表

Note that list concatenation is a comparatively expensive operation since a new list must be created and the objects copied over. Using extend to append elements to an existing list, especially if you are building up a large list, is usually preferable. Thus,

everything = []
for chunk in list_of_lists:
    everything.extend(chunk)
everything = []
for chunk in list_of_lists:
    everything = everything + chunk

 上一段代码运行起来是要比下一段代码快的

Sort

list可以通过调用sort函数就地排序(不需要创建新对象):

 sort也可以对字符串的长度进行排序:

 slice

你可以使用slice表示法来选择类似列表类型的部分(数组,元组,NumPy数组),它的基本形式包括传递给索引操作符[]的start:stop:

slice可以进行赋值:

 虽然包含了开始索引处的元素,但不包含停止索引,因此结果中的元素数量是stop - start:

负索引相对于末端对序列进行切片:

 step(步长)也可以用在第二个冒号后面,例如,取所有其他元素:

使用-1作为步长可以从最后向前遍历列表:

 Dict

dict可能是最重要的Python内置数据结构。更常用的名称是哈希映射或关联数组。它是一个大小灵活的键值对集合,其中键和值是Python对象。一种方法是使用花括号{}和用冒号分隔键和值:

 

 可以使用与访问列表或元组元素相同的语法来访问、插入或设置元素:

 虽然dict的值可以是任何Python对象,但键必须是不可变的对象,如标量类型(int、float、string)或元组(元组中的所有对象也需要是不可变的)。可以用hash()来测试dict中的key是否是不可变的:

 要将list用作键,一个简单的解决方法是将其转换为元组:

Set

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

 列表,集合和字典推导式

列表推导式是最受欢迎的Python语言特性之一。

 也可以进行缩写:

upper 的作用:小写字母转为大写字母的字符串。

集合和字典推导式是一种自然的扩展,以习惯上相似的方式产生集合和字典,而不是列表。

下面放几个简单的例子: 

 字典也可以通过这种方法创建:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值