第三章 Python中列表的基础以及定义

一、操作对象的类型

  知道且明确操作对象的数据类型:

message = 'Nice to meet too you!'
number = 5.0
result = 10
a = False
b = None
print(type(message));
print(type(number));
print(type(result));
print(type(a));
print(type(b));

  结果:

<class 'str'>
<class 'float'>
<class 'int'>
<class 'bool'>
<class 'NoneType'>

  在Python中,可以使用type()来查看操作对象的数据类型;

二、列表
2.1 列表

  在很多编程语言中,List是一种能够动态变化大小的序列,它可以存放不同类型的数据(例如整数、字符串等),并且能够对这些数据进行增加、删除和修改等操作。List的核心特性包括动态性,允许在运行时添加或删除元素,这使得它非常适合于那些在编程时无法预知数据量的情景‌.

  List:编程中的List是一种数据结构,用于存储元素的集合。其中它既可以包含几个元素,也可以包含数百上完哥元素,它是编程语言中最强大的功能之一,融合了众多的编程概念。

  列表(List)由一系列按特定顺序排列的元素组成。 在Python中,用方括号([])表示列表,用逗号分隔其中的元素。

  程序示例:

#定义一个列表
message = ['Alina','Stock','Freak','Smith','Tom','Alice','Special']
#打印出来
print(message);

  输出结果:

['Alina', 'Stock', 'Freak', 'Smith', 'Tom', 'Alice', 'Special']
2.1.1 访问列表元素

  列表是有序集合,因此要访问列表中的任何元素,只需将该元素的位置(索引)告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将后者放在方括号内,如上面:

  程序:

#定义一个列表
message = ['Alina','Stock','Freak','Smith','Tom','Alice','Special']
#打印出来
print(message);
#打印出列表message中第二个元素
print(message[2]);   #输出结果:Freak,它的索引号便为2
2.1.2 索引是从0开始而不是1

  在Python中,第一个列表元素的索引为0,而不是1。其中大多数编程语言对列表的索引定义基本都是这样的,即索引是从0开始而不是1开始,这与列表操作的底层数显有关。

  第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。示例:以上,如果要打出“Tom”,即Tom在列表message中位于第五个,它的索引就需要减1,即Tom的索引号位4;

  程序:

print(message[4]); #输出结果为Tom

  Python为访问最后一个列表元素提供了一种特殊的语法。通过将索引指定为-1,可让Python返回最后一个列表元素:

  程序:

#定义一个列表
message = ['Alina','Stock','Freak','Smith','Tom','Alice','Special']
#打印出来
print(message);
#打印出列表message的最后一个元素
print(message[-1]);  #输出结果为Special

  解释:上述返回为Special,即列表中的最后一个元素,这个语法非常有用,因为我们常常在不知道列表长度的情况下访问最后一个元素。其中这种约定也同样适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,索引-3返回第三个列表元素,以此类推。

2.1.3 使用列表中的各个值

  在Python中,我们可以像使用其他变量一样使用列表中的各个值,并使用这个值创建一条信息:

  程序示例:

result = f"在我出生的时候,我的父母给我起了第一个乳名,叫{message[3]}。"
print(result);  #输出结果为:在我出生的时候,我的父母给我起了第一个乳名,叫Smith。
2.2 修改、添加和删除元素

  在Python中,创建的大多数列表是动态的,这意味着列表创建后,将随着程序的运行增、删、改以及查这些元素。

2.2.1 修改列表元素

  修改列表元素的语法与访问列表元素的羽凡类似。要修改列表元素,可指定列表名和修改元素的索引,再指定该索引位置上的新值。

#定义一个列表
message = ['Alina','Stock','Freak','Smith','Tom','Alice','Special']
#输出列表元素   ['Alina', 'Stock', 'Freak', 'Smith', 'Tom', 'Alice', 'Special']
print(message);
#将列表中的最后一个元素修改为Google
message[-1] = 'Google';

#输出更改好的列表元素  ['Alina', 'Stock', 'Freak', 'Smith', 'Tom', 'Alice', 'Google']
print(message);

  首先,需要定义一个元素列表,然后将最后一个元素更新为“Google”,然后再进行输出,输出后,我们发现最后一个元素更成了“Google”。我们可以修改列表中的任意元素值,而不是最后一个或者第一个元素。

2.2.2 在列表中添加元素

  在编写程序的时候,我们会因为其他特定的原因,需要在列表中新添加元素。例如,添加可视化数据,或者给网站添加新注册的用户,Python提供了多种在既有列表中添加新数据的方式。

  1. 在列表末尾添加元素

    在列表中添加元素,最简单的方式是将元素追加(append)到列表末尾。继续使用上面的例子,在末尾添加“Python”:

    #定义一个列表
    message = ['Alina','Stock','Freak','Smith','Tom','Alice','Google']
    #输出这个列表   ['Alina', 'Stock', 'Freak', 'Smith', 'Tom', 'Alice', 'Google']
    print(message);   
    #在列表的末尾添加一个元素“Python”
    message.append('Python');
    #输出添加新元素后的列表元素   ['Alina', 'Stock', 'Freak', 'Smith', 'Tom', 'Alice', 'Google', 'Python']
    print(message); 
    

    解释:append()方法将元素“Python”,添加到列表末尾,而不影响列表中的其他元素,append()方法动态地创建列表易如反掌。比如,我们可以创建一个空的列表,然后不停的往里面添加新元素,它会自动递增的向上增加元素,如果不指定该列表的最大存储值。

    为了方便管理,可首先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值追加到列表的末尾。

    #定义一个空的列表
    result = []
    result.append('Cat')
    result.append('Dog')
    result.append('Pig')
    result.append('Tig')
    result.append('banana')
    result.append('basketball')
    
    #输出  ['Cat', 'Dog', 'Pig', 'Tig', 'banana', 'basketball']
    print(result)
    
  2. 在列表中插入元素

    我们可使用insert()方法,可在列表的任意位置添加新的元素,需要注意的是,插入新元素,需要指定新元素的索引和值。

    #定义一个列表
    color = ['Yellow','Orange','Yellow','Green','Blue','Indigo','Purple','Light yellow']
    #在列表的末尾添加一个新元素“Baby blue”
    color.insert(-1,'Baby blue')
    # 输出 ['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Purple', 'Baby blue', 'Light yellow']
    print(color)
    #在索引-3处添加新元素“Light purple”
    color.insert(-3,'Light purple')
    #输出 ['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Light purple', 'Purple', 'Baby blue', 'Light yellow']
    print(color)
    

    从上面可以知道,我定义了一个列表color,然后我在该列表的最后新插入了一个元素,按照数据结构,改列表color中的最后一个元素为“Light yellow”,将这个末尾元素向右移动一个位置,然后再将新的元素“Baby blue”插到索引为-1处,然后该列表的长度自增1。

    这种操作,将列表中的每个既有元素都右移一个位置。

2.2.3 从列表中删除元素

  在程序设计中,我们经常会从列表中删除某一个元素或者多个元素。比如一个用户系统,该用户辞职了,需要将该用户信息从列表中删除。然后我们可以根据该用户在数据库存档的位置或值,在列表中删除该元素。

  1. 使用 del 语句删除元素

    如果要删除元素在列表中的位置,可以使用 del 语句:

    #定义一个列表
    color = ['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Light purple', 'Purple', 'Baby blue', 'Light yellow']
    #删除第一个元素,即索引为0的元素
    del color[0]
    #输出删除后的列表
    # ['Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Light purple', 'Purple', 'Baby blue', 'Light yellow']
    print(color)
    

    在上面的例子中,我使用 del 语句来删除列表中的第一个元素,即索引为0的列表元素。

    特殊注意:使用 del 语句来删除,它的弊端就是需要知道该列表值在列表中的索引,不然,你不知道怎么删除。其中,使用了 del 语句进行列表值删除,只要使用了,你后续再进行打印输出,该列表值就无法访问了。

  2. 使用pop()方法删除元素

    在程序设计中,你要将该列表值从列表中删除,并接着使用它的值。

    pop()方法删除列表末尾的元素,并让你能够接着使用它。术语弹出(pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

    #定义一个列表
    color = ['Yellow','Orange','Yellow','Green','Blue','Indigo','Purple']
    #打印该列表  ['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Purple']
    print(color);
    #定义一个列表来存储需要删除的元素
    pop_color = color.pop()
    #输出 删除的元素    Purple
    print(pop_color)
    #输出剩余的元素     ['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo']
    print(color)
    

    输出结果显示:列表末尾的元素“Purple”被删除了,然后被赋给了变量“pop_color”。

  3. 从列表的任意位置删除元素

    实际上,也可以使用pop()删除列表中任意位置的元素,只需要在括号中指定要删除的元素索引即可。

    #定义一个列表
    color = ['Yellow','Orange','Yellow','Green','Blue','Indigo','Purple']
    #定义一个新的变量,来存储删除的列表元素
    favorite_color = color.pop(-1)
    #输出  Purple
    print(favorite_color)
    #输出  ['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo']
    print(color)
    #输出  雨儿最喜欢的颜色是Purple。
    print(f"雨儿最喜欢的颜色是{favorite_color}。");
    #输出  瑕疵最喜欢的颜色是Orange。
    print(f"瑕疵最喜欢的颜色是{color[1]}。");
    

    如果你不确定使用 del 语句还是使用 pop()方法,这里有一个简单的标准如果要从列表中删除一个元素,且不再以任何方式使用它,就使用 del 语句;如果要在删除元素后继续使用它,就使用pop()方法。

  4. 根据值删除元素

    有时候,你不知道要从列表中删除的值在那个位置,如果只知道要删除的元素的值,可使用remove()方法。

    #定义一个列表
    color = ['Yellow','Orange','Yellow','Green','Blue','Indigo','Purple','Light yellow']
    #比如要删除 Light yellow 
    color.remove('Light yellow')
    #['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Purple']
    print(color)
    

    remove()方法让Python确定“Light yellow”出现在列表中的什么地方,并将该元素删除:

    使用remove()从列表中删除元素后,也可继续使用它的值。

    #定义一个列表
    color = ['Yellow','Orange','Yellow','Green','Blue','Indigo','Purple','Light yellow']
    #['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Purple', 'Light yellow']
    print(color);
    #将要移除的元素存储到raind_color中
    raind_color = 'Light yellow'
    # 输出 Light yellow
    print(raind_color)
    #['Yellow', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Purple']
    print(color)
    #从列表color中移除该元素
    color.remove(raind_color)
    #打印删除的情况   In yellow, orange, yellow, green, blue, indigo, and purple, Light yellow is redundant.
    print(f"In yellow, orange, yellow, green, blue, indigo, and purple, {raind_color} is redundant.")
    

    remove()方法只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环,确保将每个元素值删除。

  以上的内容,是本人自学Python,写的笔记,如有错误,请留言哦!!!本人会在第一时间及时更正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殇淋狱陌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值