编程小白的第一本Python入门书学习笔记 Charper6: 数据结构

本文介绍了Python的基础数据结构,包括列表、字典、元组和集合的特点与操作方法。重点讲解了列表的增改删查、字典的键值对操作以及元组的不可变特性。还提到了多重循环、列表推导式和如何在循环中获取元素索引。最后通过词频统计项目展示了数据结构的应用。
摘要由CSDN通过智能技术生成

数据与结构

通俗来讲数据结构即储存大量数据的容器,在python中称之为内置数据结构(Built-in Data Structure),python中有四种数据结构,分别是:列表、字典、元组,集合,每种数据结构都有自己的特点。

# 列表 
list = [val1, val2, val3, val4]
# 字典
dict = {
   key1:val1, key2:val2}
# 元组
tuple = (val1, val2, val3, val4)
# 集合
set = {
   val1, val2, val3, val4}

从最容易识别的特征上来看,列表中的元素是用方括号括起来的,字典和集合中的元素是用花括号括起来的,元组中的元素是圆括号。
其中字典中的元素均是有关键字key和值value的对应关系组。

列表(list)

列表具有的最显著的特征是:

  1. 列表中的每一个元素都是可变的,这意味着我们可以在列表中添加、删除和修改元素;
  2. 列表中的元素是有序的,也就是说每一个元素都有一个位置,说明可以进行索引,切片等操作;
  3. 列表可以容纳python中的任何对象
# 列表的索引操作
Weekday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
print(Weekday[0])
Monday
# 列表可以装入python中的所有对象,举例说明:

all_in_list = [
    1,              #整数 
    1.0,            #浮点数
    'a word',       #字符串
    print(1),       #函数
    True,           #布尔值
    [1,2],          #列表中套列表
    (1,2),          #元组
    {
   'key':'value'} #字典
]
print(all_in_list)
1
[1, 1.0, 'a word', None, True, [1, 2], (1, 2), {'key': 'value'}]
列表的增改删查
  1. 列表的插入
# 列表的插入,insert()方法
fruit = ['pineapple', 'pear']
fruit.insert(1,'grape') # 指定位置和要插入的元素

print(fruit)
['pineapple', 'grape', 'pear']

在使用insert()方法时,必须指定在列表中要插入的新元素的位置,插入元素的实际位置是在指定位置元素之前的位置
如果指定插入的位置在列表中不存在,即超出指定列表长度,那么被插入元素被放到列表的最后

使用下述这种方法也可以达到“插入”的效果

fruit[0:0] = ['Orange'] # 插入位置是第0个位置,[1:1]插入位置是第1个位置,类似于切片操作的区间

print(fruit)
['Orange', 'grape']
  1. 删除列表中元素使用的方法是remove()
fruit = ['pinapple', 'pear', 'grape']
fruit.remove('grape')

print(fruit)
['pinapple', 'pear']

删除还有一种操作,是使用del关键字进行声明

fruit = ['Grapefruit', 'pear', 'grape']
del fruit[0:2] # 删除第0个和第1个元素,因为该区间是左闭右开的

print(fruit)
['grape']
  1. 替换或修改列表中的元素
fruit = ['pinapple', 'pear', 'grape']
fruit[0] = 'Grapefruit' # 将列表中第0个位置的元素替换为 Grapefruit

print(fruit)
['Grapefruit', 'pear', 'grape']

列表的索引与字符串的切片特别相似,同样分正反索引两种方式,只要输入对应位置就会返回在这个位置上的值

<
sample= [ 1 2 3 4 5 6 7 8 9 ]
index: 0 1 2 3 4 5 6 7 8
reverse index: -9 -8 -7 -6 -5 -4 -3 -2 -1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值