Python+大数据学习笔记|Day 6:数据容器:列表

数据容器

数据容器含义:  

        数据容器,能够存储多个元素。

元素:

        数据容器中存储的每一份内容。

常见数据容器
名字基本格式
列表(List)[元素1,元素2,,元素3,......]
元祖(Tuple)(元素1,元素2,,元素3,......)
字符串(String)

'内容'

"内容"

'''内容'''

"""内容"""

集合(Set){元素1,元素2,,元素3,......}
字典(Dict){key:value,key:value,......}
数据容器的特点:

        是否支持重复元素,是否可以修改,是否有序等


方法与函数的区别

方法是被放到类里的函数,方法一定是函数,但是函数不一定是方法。

import random

num = random.randint(1, 10)


def sum(a, b):
    c = a + b
    print(c)


print(num)
sum(1, 10)

        上述代码中,random中的randint()是一个方法,而sum是一个函数。 


列表的定义

        如果一个组只有一个人,那么我们要存储这个人的名字只需要一个字符串就能搞定,但是一个小组有5个人呢?

name_1 = "周芷若"
name_2 = "赵敏"
name_3 = "小昭"
name_4 = "殷离"
name_5 = "朱九真"

        像上面一样一个个存储效率太低,我们可以用列表来进行存储。

name = ["周芷若", "赵敏", "小昭", "殷离", "朱九真"]

        如果是在一个班级里我们有两个小组,我们需要把两个小组的组员姓名都存储到班级里,那么我们可以使用嵌套的方式,来进行存储。如:

class_01 = [["周芷若", "赵敏", "小昭", "殷离", "朱九真"], ["黄蓉", "穆念慈", "华筝"]]

        在某些情况下,我们定义的初始列表暂时不需要存储任何元素,这个时候,我们就可以创建一个空列表(创建空列表可以采用下面两种方式)。

list_01 = []

list_02 = list()

列表的下标索引

        

        列表中的每个元素都有其下标索引,从前往后,索引位置从0开始,依次递增;从后往前,索引位置从-1开始,依次递减。我们可以根据索引,取出特定位置的元素。

class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真"]
print(class_01[0])
print(class_01[-5])

         在上述代码中,列表class_01中有五个元素,我们根据下标索引,分别取出索引为0和-5的元素,输出后发现索引0和-5的元素都是第一个元素“周芷若”,这是因为元素从前往后数,索引从0开始,从后往前数,索引从-1开始,所以在五个元素的列表中,最终索引0和-5都指向了同一个元素。

        如果列表是嵌套关系,那么我们同样可以使用索引的方式取出对应元素。如:

class_01 = [["周芷若", "赵敏", "小昭", "殷离", "朱九真"], ["黄蓉", "穆念慈", "华筝"]]

print(class_01[0][0])

        上述代码中,我们先获取了第一个列表的索引,然后获取了第一个列表中第一个元素的索引,最终取出的元素依然是“周芷若”。

下标索引:

        相当于容器中每个元素的编号。

正索引:

        从0开始,从前往后,依次递增。

负索引:

        从-1开始,从后往前,依次递减。

根据下标索引查找对应元素格式:  

        列表名[索引]


列表的常用操作

        我们可以对列表中的元素进行增删改查的操作,列表中提供的这些功能就是列表的方法。

列表的查询:
查找某元素的下标
列表.index(元素)
统计列表内有多少元素
len(列表)
统计某元素在列表内的数量
列表.count(元素)
查找指定索引位置上的元素
列表名[索引]
class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真", "赵敏"]

print(f"“小昭”在列表class_01中的索引为:{class_01.index('小昭')}")
print(f"列表长度为:{len(class_01)}")
print(f"“赵敏”在列表class_01中出现的次数为:{class_01.count('赵敏')}")
 列表的增加:
将指定元素,追加到列表的尾部
列表名.append(元素)
将其它数据容器的内容取出,依次追加到列表尾部
列表名.extend(容器)
在指定下标处,插入指定的元素
列表名.insert(索引,元素)
class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真", "赵敏"]
class_02 = ["紫衫龙王", "白眉鹰王", "青翼蝠王", "金毛狮王"]

class_01.append("纪晓芙")
class_01.extend(class_02)
class_01.insert(2,"殷素素")

print(class_01)
列表的修改:

        列表名[索引] = 新元素

class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真", "赵敏"]

class_01[5] = "殷素素"
列表的删除:
删除列表指定下标元素
del 列表名[索引]
取出列表指定下标元素
列表.pop(下标)
从前向后,删除此元素第一个匹配项
列表名.remove(元素)
清空列表
列表名.clear()
删除当前列表
del 列表名
class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真", "赵敏"]

class_01.remove("赵敏")
print(class_01)

del class_01[2]
print(class_01)

zhou = class_01.pop(0)
print(zhou)

class_01.clear()
print(class_01)


del class_01
# 该行代码会报错,因为该列表已删除
print(class_01)

列表的遍历

1.for循环遍历:

        for 元素名 in 列表:
        操作元素

class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真", "赵敏"]

for i in class_01:
    print(i)
2.while循环遍历:

index = 0
while index < len(列表):
        元素名 = 列表[index]
        操作元素
        index+=1 

class_01 = ["周芷若", "赵敏", "小昭", "殷离", "朱九真", "赵敏"]

index = 0
while index < len(class_01):
    i = class_01[index]
    print(i)
    index += 1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值