python基本数据结构(列表篇)

在刷力扣,我主要使用python编程。

如何利用编程语言提供的数据结构进行编程,和简化编程 是我们使用编程语言这个工具的基本用法。

在写前端时,主要使用javaScript完成逻辑代码的书写,后面也会有一篇文章来讲解javaScript提供的基本编程结构。


我们首先可以从括号类型的方式来认识python的数据结构,这里先讲解列表list

一、[ ]中括号 列表

列表无疑是python中最常见的数据结构。

列表的数据类型可以是python中的任意的对象,可以是字符串、数字、元组、列表等

而且,列表中的数据类型不要求是相同的。

list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

我们将从增删改查4个角度来考虑对列表的操作。

首先我们来考虑如何创建一个空列表。

1.1创建空列表

两种方式:

l = list()

l = []

1.2向列表中添加元素(增)

例如使用append()方法来增加元素

list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list

上述方法只能限于列表尾部

如何在列表任意位置进行添加元素呢,采用列表的insert()方法,

list.insert(index, obj) 代表在第index元素的位置,变成obj对象
    week = ["Monday", "Tuesday", "Thursday", "Saturday", "Sunday"]
    print(week)
    week.insert(2, "Wednesday")
    print(week)

1.3从列表中删除元素(删)

我们采用索引使用del语句来删除元素

list1 = ['physics', 'chemistry', 1997, 2000]
 
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1

除此之外,还可以使用remove()方法

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

aList.remove('xyz');

1.4修改列表元素(改)

可以采用对索引元素赋值进行修改

    week = ["Monday", "Tuesday", "Thursday", "Saturday", "Sunday"]
    print(week)
    week[2] = "fourday"
    print(week)

1.5如何查找列表中的元素(查)

可以通过正反索引查找元素

>>>L = ['Google', 'Runoob', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Runoob'

还可以采用列表截取的方式:

list2 = [1, 2, 3, 4, 5, 6, 7 ]
 
print "list2[1:5]: ", list2[1:5]  #输出[2, 3, 4, 5]

>>>L = ['Google', 'Runoob', 'Taobao']

>>> L[1:]
['Runoob', 'Taobao']

2、列表list的常见方法

2.1 pop()方法

pop()方法用于弹出列表中的最后一个元素,这种方法常和append()方法配合使用

并返回该元素的值

用法:

list.pop()

 还有其他常见方法,用表格表示:

list.count(obj)统计某个元素在列表中出现的次数
list.reverse()反向列表中元素
list.sort()对原列表进行排序
list.index(obj)从列表中找出某个值第一个匹配项的索引位置

3、对于列表的常见函数

len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表

4、如何遍历列表

在力扣刷题中,最常用的是遍历列表,常见以下几种方式:

(1)for循环直接遍历列表中的对象

    week = ["Monday", "Tuesday", "Thursday", "Saturday", "Sunday"]
    for i in week:
        print("序号:%s   值:%s" % (week.index(i) + 1, i))

执行结果:

 (2)采用range()函数产生列表索引的可迭代对象

用以下示例展示range()函数的使用方法:

>>>range(10)        # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)     # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)  # 步长为 5
[0, 5, 10, 15, 20, 25]

重要注解:并非返回一个列表,仍是返回一个可迭代对象

使用range函数遍历列表:

    week = ["Monday", "Tuesday", "Thursday", "Saturday", "Sunday"]
    
    for i in range(len(week)):
        print("序号:%s   值:%s" % (i + 1, week[i]))

执行结果:

 (3)采用enumerate()函数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标。

用以下示例展示enumerate()函数的使用方法:

    seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    print(list(enumerate(seasons)))

    print(list(enumerate(seasons, 1)))

注意:list()函数可将可迭代对象转换成链表

执行结果:

 使用enumerate函数遍历列表:

    week = ["Monday", "Tuesday", "Thursday", "Saturday", "Sunday"]

    for i, val in enumerate(week):
        print("序号:%s   值:%s" % (i + 1, val))

欢迎交流、指正!

参考博客:

菜鸟教程 Python 列表(List) | 菜鸟教程

【Python】Python中的数据结构 - sakuraxx - 博客园

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值