美文网首页
教小朋友学 Python -- 列表与元组

教小朋友学 Python -- 列表与元组

作者: 老马的程序人生 | 来源:发表于2019-07-28 10:18 被阅读0次

    背景

    前两天,我们一起学习了 Python 的变量、运算符与数据类型 以及程序设计中最常用的 分支语句和循环语句

    今天,我们一起来学习 Python 中最常用的一种结构:列表,以及跟它相近的另外一种结构:元组。


    代码实现

    <b>1. 列表</b>

    • 列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象。

    <u>创建列表</u>

    • 创建一个普通列表
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    print(week)  # ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    
    number = [2, 3, 4, 5, 6, 7]
    print(number)  # [2, 3, 4, 5, 6, 7]
    
    • 创建一个混合列表
    mix = [1, 'lsgo', 3.14, [1, 2, 3]]
    print(mix)  # [1, 'lsgo', 3.14, [1, 2, 3]]
    
    • 创建一个空列表
    empty = []
    print(empty)  # []
    

    <u>向列表添加元素</u>

    • append(obj) 方法:在列表末尾添加新的对象
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    week.append('Thursday')
    print(week)  # ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday']
    print(len(week))  # 6
    
    • extend(seq)方法:在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    week.extend(['Thursday', 'Sunday'])
    print(week)  # ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Thursday', 'Sunday']
    
    • insert(index, obj)方法:
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    week.insert(0, 'Sunday')
    print(week)  # ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    

    <u>从列表中获取元素</u>

    • 跟数组一样,我们可以通过元素的索引值,从列表获取单个元素,注意,列表索引值是从0开始的。
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    print(week[0])  # Monday
    

    <u>从列表中删除元素</u>

    • remove(obj)方法:移除列表中某个值的第一个匹配项
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    week.remove('Monday')
    print(week)  # ['Tuesday', 'Wednesday', 'Thursday', 'Friday']
    
    • del var1[, var2 ……]语句:删除单个或多个对象
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    del week[0], week[1]
    print(week)  # ['Tuesday', 'Thursday', 'Friday']
    
    • pop([index=-1])方法:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    day = week.pop()
    print(day)  # Friday
    day = week.pop(0)
    print(day)  # Monday
    day = week.pop(-2)
    print(day)  # Wednesday
    

    <u>列表分片</u>

    例子1:

    week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    print(week[1:3])  # ['Tuesday', 'Wednesday']
    print(week[:3])  # ['Monday', 'Tuesday', 'Wednesday']
    print(week[3:])  # ['Thursday', 'Friday']
    print(week[:])  # week的拷贝 ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    

    例子2:

    list1 = [123, 456, 789, 213]
    list2 = list1
    list3 = list1[:]
    print(list2)  # [123, 456, 789, 213]
    print(list3)  # [123, 456, 789, 213]
    list1.sort()
    print(list2)  # [123, 213, 456, 789] 
    print(list3)  # [123, 456, 789, 213]
    

    <u>列表的常用操作符</u>

    • 比较操作符
    • 逻辑操作符
    • 连接操作符 +
    • 重复操作符 *
    • 成员关系操作符 innot in
    list1 = [123, 456]
    list2 = [234, 123]
    print(list1 > list2)  # False
    
    list3 = [123, 456]
    print((list1 < list2) and (list1 == list3))  # True
    
    list4 = list1 + list2  # extend()
    print(list4)  # [123, 456, 234, 123]
    
    list5 = list3 * 3
    print(list5)  # [123, 456, 123, 456, 123, 456]
    
    list3 *= 3
    print(list3)  # [123, 456, 123, 456, 123, 456]
    
    print(123 in list3)  # True
    print(456 not in list3)  # False
    

    <u>列表的其它方法</u>

    • count(obj)方法:统计某个元素在列表中出现的次数
    list1 = [123, 456] * 3
    print(list1)  # [123, 456, 123, 456, 123, 456]
    num = list1.count(123)
    print(num)  # 3
    
    • index(obj[, start[, end]])方法:从列表中找出某个值第一个匹配项的索引位置
    list1 = [123, 456] * 5
    print(list1.index(123))  # 0
    print(list1.index(123, 1))  # 2
    print(list1.index(123, 3, 7))  # 4
    
    • reverse()方法:反向列表中元素
    list1 = [123, 456, 789]
    list1.reverse()
    print(list1)  # [789, 456, 123]
    
    • sort(key=None, reverse=False)方法:对原列表进行排序
    list1 = [123, 456, 789, 213]
    list1.sort()
    print(list1)  # [123, 213, 456, 789]
    
    list1.sort(reverse=True)
    print(list1)  # [789, 456, 213, 123]
    

    <b>2. 元组</b>

    <u>创建和访问一个元组</u>

    • Python 的元组与列表类似,不同之处在于tuple被创建后就不能对其进行修改,类似字符串。
    • 元组使用小括号,列表使用方括号。
    • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
    tuple1 = (1, 2, 3, 4, 5, 6, 7, 8)
    print(tuple1[1])  # 2
    print(tuple1[5:])  # (6, 7, 8)
    print(tuple1[:5])  # (1, 2, 3, 4, 5)
    tuple2 = tuple1[:]
    print(tuple2)  # (1, 2, 3, 4, 5, 6, 7, 8)
    
    • 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:

    例子1:

    temp = (1)
    print(type(temp))  # <class 'int'>
    temp = 2, 3, 4, 5
    print(type(temp))  # <class 'tuple'>
    temp = []
    print(type(temp))  # <class 'list'>
    temp = ()
    print(type(temp))  # <class 'tuple'>
    temp = (1,)
    print(type(temp))  # <class 'tuple'>
    

    例子2:

    print(8 * (8))  # 64
    print(8 * (8,))  # (8, 8, 8, 8, 8, 8, 8, 8)
    

    <u>更新和删除一个元组</u>

    例子1:

    week = ('Monday', 'Tuesday', 'Thursday', 'Friday')
    week = week[:2] + ('Wednesday',) + week[2:]
    print(week)  # ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday')
    

    例子2:

    t1 = (1, 2, 3, [4, 5, 6])
    print(t1)  # (1, 2, 3, [4, 5, 6])
    
    t1[3][0] = 9
    print(t1)  # (1, 2, 3, [9, 5, 6])
    

    <u>元组相关的操作符</u>

    • 比较操作符
    • 逻辑操作符
    • 连接操作符 +
    • 重复操作符 *
    • 成员关系操作符 innot in
    t1 = (2, 3, 4, 5)
    t2 = ('老马的程序人生', '小马的程序人生')
    t3 = t1 + t2
    print(t3)  # (2, 3, 4, 5, '老马的程序人生', '小马的程序人生')
    

    总结

    到此为止,列表和元组的内容就介绍完了。今天就到这里呀!大家加油,See You!


    相关图文

    相关文章

      网友评论

          本文标题:教小朋友学 Python -- 列表与元组

          本文链接:https://www.haomeiwen.com/subject/bmsurctx.html