猿创征文|List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(三)

Python List 列表

(创建、索引和切片、列表反转、添加删除修改查找元素)

__全实例详解(三)

接上一篇:《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(二)》

  

    本篇目录:

  五、向list 列表添加元素(4种方法)

(5.1)、append() 方法添加元素

(5.2)、extend() 方法添加元素

(5.3)、insert() 方法插入元素

(5.4)、用运算符插入另一个列表的元素


五、向list 列表添加元素(4种方法)

  append()函数将在列表尾部传入一个元素:list.append(1)。

  extend()函数可以将列表1和列表2拼接在一起:list1.extend(list2)。

  insert()函数可以在列表中的指定位置插入一个元素:list.insert(位置,元素)。

注意:

  使用append()和insert()时,一次只能添加一个元素;

  使用extend()时是将列表拼接在另一个列表尾部。

5.1)、append() 方法添加元素

append() 方法添加元素

append() 方法用于在列表的末尾追加元素

语  法

listname.append(obj)

参  数

listname 表示要添加元素的列表;

obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

注  意

  append() 方法传递列表或者元组时,会将它们视为一个整体,作为一个元素添加到列表中,从而形成包含列表和元组的新列表。

没有返回值

知识拓展

extend() append() 的不同之处在于:

  extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。

  append() 方法传递列表或者元组时,会将它们视为一个整体,作为一个元素添加到列表中,从而形成包含列表和元组的新列表。

  append是整建制地追加,extend是个体化扩编。

extend() append() 的共同点在于:

  都是原地修改列表。没有返回值,不能赋值给某个变量。

  list.append(x)等效于 a[len(a):]=[x]。这也相当于告诉我们另外一种追加元素的方法,并且两种方法等效。

实 例

代  码

#在小动物列表里增加小松鼠

mlist= ["小猫咪", "小白兔", "小青蛙", "小狗狗", "小灰兔", "小鸟"]

print(mlist)

mlist.append("小松鼠")

print(mlist)

运行结果

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔', '小鸟']

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔', '小鸟', '小松鼠']

代  码

#在数字列表里增加数字6999

mlist= [32,51,6,31,43,423,34]

print(mlist)

mlist.append("6999")

print(mlist)

运行结果

[32, 51, 6, 31, 43, 423, 34]

[32, 51, 6, 31, 43, 423, 34, '6999']

代  码

#在列表里追加元组,整个元组会被当成一个元素添加到列表里
mlist =["萤火明晰双眼","辨分真与假",0,[8,6],'逆境清醒']

print(mlist)

mlist.append(('香蕉','苹果','橘子'))

print(mlist)

运行结果

['萤火明晰双眼', '辨分真与假', 0, [8, 6], '逆境清醒']

['萤火明晰双眼', '辨分真与假', 0, [8, 6], '逆境清醒', ('香蕉', '苹果', '橘子')]

代  码

#在列表里追加列表,整个追加列表也被当成一个元素添加到列表里

mlist=[[2,9],[7,0],[1,8],[3,4],[1,6]]

print(mlist)

mlist.append([6,9])

print(mlist)

运行结果

[[2, 9], [7, 0], [1, 8], [3, 4], [1, 6]]

[[2, 9], [7, 0], [1, 8], [3, 4], [1, 6], [6, 9]]

代  码

#用切片形式添加元素

mlist= [3,8,5,1,8]

mlist[5:]=[131]

print(mlist)

运行结果

[3, 8, 5, 1, 8, 131]

代  码

# list.append(x)等效于 list[len(list):]=[x]

mlist= [3,8,5,1,8]

mlist[len(mlist):]=[131]

print(mlist)

运行结果

[3, 8, 5, 1, 8, 131]

代  码

# mlist2 = mlist1是浅复制,往mlist1列表里添加删除元素,mlist2列表里的元素也会跟着变化

mlist1 = [1,2,3,[4,5],6,7]

mlist2 = mlist1

mlist1.append(8)

print(mlist1)

print(mlist2)

mlist2[3].remove(4)

print(mlist1)

print(mlist2)

运行结果

[1, 2, 3, [4, 5], 6, 7, 8]

[1, 2, 3, [4, 5], 6, 7, 8]

[1, 2, 3, [5], 6, 7, 8]

[1, 2, 3, [5], 6, 7, 8]

代  码

# mlist2 = mlist1[:],父对象进行了深拷贝,不会随mlist1的修改而修改;子对象是浅拷贝所以会随 mlist1 的修改而修改。

mlist1 = [1,2,3,[4,5],6,7]

mlist2 = mlist1[:]

mlist1.append(8)

print(mlist1)

print(mlist2)

mlist1[3].remove(4)

print(mlist1)

print(mlist2)

运行结果

[1, 2, 3, [4, 5], 6, 7, 8]

[1, 2, 3, [4, 5], 6, 7]

[1, 2, 3, [5], 6, 7, 8]

[1, 2, 3, [5], 6, 7]

代  码

#分别从两个列表中取出所有的元素,再放入新列表mlist3

mlist3=[]

mlist1 =[1,2,3,4,5]  

mlist2 =[6,7,8,9,10]  

for i in mlist1:

    mlist3.append(i)

for i in mlist2:

    mlist3.append(i)

print(mlist3)

运行结果

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

#a和b是两个长度相同的列表变量,列表a为[3, 6, 9]己给定,键盘输入列表b, 计算a中元素与b中对应元素的和形成新的列表c,在屏幕上输出。例如:键盘输入列表b为[1, 2, 3], 屏幕输出计算结果为[4, 8, 12]

代  码

a = [3,6,9]

b =eval(input()) #例如:[1,2,3]

c = []

for i in range(3):

    c.append(a[i]+b[i])

print(c)

运行结果

键盘输入:[1,2,3]

屏幕输出:[4, 8, 12]

# 123为随机数种子,随机生成10个在1 ()999 ()之间的随机数,将这些随机数组成一个列表。

代  码

import random

random.seed(123)

mlist=[]

for i in range(10):

    #print(random.randint(1,1000), end=",")

    mlist.append(random.randint(1,1000))

print(mlist)

运行结果

[54, 275, 90, 788, 418, 273, 111, 859, 923, 896]

# 获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出。

代  码

a, b, c = eval(input()) #输入格式:1,2,3以逗号分隔

mlist = []

for i in range(c):

    mlist.append(a+b*i)

print(mlist)

运行结果

键盘输入:1,6,5

屏幕输出:[1, 7, 13, 19, 25]

#获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号。

代  码

a, b, c = eval(input())#输入格式:1,2,3以逗号分隔

mlist = []

for i in range(c):

    mlist.append(str(a*(b**i)))

print(",".join(mlist))

运行结果

键盘输入:1,3,6

屏幕输出:1,3,9,27,81,243

5.2)、extend() 方法添加元素

extend() 方法添加元素

语  法

listname.extend(obj)

参  数

  listname 指的是要添加元素的列表;

  obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。

注  意

1、不能直接用extend向列表追加int类型的数值,会报错。

2extend函数添加的对象必须是可迭代序列。字符串和列表都是可迭代序列,但数字不是。

3、用extend向列表追加int类型的数值,将int类型做成列表,就可以加进去了

4、追加元组列表等,元组列表被拆分成多个元素

5extend()可以将列表1和列表2拼接在一起:list1.extend(list2)

没有返回值

知识拓展

函数append()和extend(),其共同点:

     都是原地修改列表。没有回值,不能赋值给某个变量。

函数append()extend(),不同点:

  extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。

  append() 方法传递列表或者元组时,会将它们视为一个整体,作为一个元素添加到列表中,从而形成包含列表和元组的新列表。

      append是整建制地追加,extend是个体化扩编。

实 例

代  码

# extend() 不会把字符串视为一个整体,而是把它们包含的元素逐个添加到列表中。

mlist= ["小猫咪", "小白兔", "小青蛙", "小狗狗", "小灰兔", "小鸟"]

print(mlist)

mlist.extend("小松鼠")

print(mlist)

运行结果

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔', '小鸟']

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔', '小鸟', '', '', '']

代  码

#在数字列表里增加数字6999

mlist= [32,51,6,31,43,423,34]

print(mlist)

mlist.extend(6999)

print(mlist)

运行结果

#不能直接用extend向列表追加int类型的数值,会报错。

[32, 51, 6, 31, 43, 423, 34]

Traceback (most recent call last):

。。。

    mlist.extend(6999)

TypeError: 'int' object is not iterable

代  码

#用extend向列表追加int类型的数值,将int类型做成列表,就可以加进去了

mlist= [32,51,6,31,43,423,34]

print(mlist)

mlist.extend([6999])

print(mlist)

运行结果

[32, 51, 6, 31, 43, 423, 34]

[32, 51, 6, 31, 43, 423, 34, 6999]

代  码

#extend向列表追加str类型的数值6999,"6999"会被拆分成'6', '9', '9', '9'添加到列表里

mlist= [32,51,6,31,43,423,34]

print(mlist)

mlist.extend("6999")

print(mlist)

运行结果

[32, 51, 6, 31, 43, 423, 34]

[32, 51, 6, 31, 43, 423, 34, '6', '9', '9', '9']

代  码

#追加元组,元组被拆分成多个元素

mlist =["萤火明晰双眼","辨分真与假",0,[8,6],'逆境清醒']

print(mlist)

mlist.extend(('香蕉','苹果','橘子'))

print(mlist)

运行结果

['萤火明晰双眼', '辨分真与假', 0, [8, 6], '逆境清醒']

['萤火明晰双眼', '辨分真与假', 0, [8, 6], '逆境清醒', '香蕉', '苹果', '橘子']

代  码

#追加列表,列表也被拆分成多个元素

mlist=[[2,9],[7,0],[1,8],[3,4],[1,6]]

print(mlist)

mlist.extend([6,9])

print(mlist)

运行结果

[[2, 9], [7, 0], [1, 8], [3, 4], [1, 6]]

[[2, 9], [7, 0], [1, 8], [3, 4], [1, 6], 6, 9]

代  码

mlist = ["愿星光为你","漆黑里指路"]

fh = ["!"]

mlist.extend(fh)

mlist.extend("!")

mlist.extend(["!"])

print(mlist)

运行结果

['愿星光为你', '漆黑里指路', '!', '!', '!']

代  码

mlist1=['愿星光为你','漆黑里指路']

mlist2=['萤火明晰双眼','辨分真与假']

print(mlist1.extend(mlist2))

运行结果

#extend()没有返回值,不能赋值给某个变量。

None

代  码

mlist1=['愿星光为你','漆黑里指路']

mlist2=['萤火明晰双眼','辨分真与假']

m=mlist1.extend(mlist2)

print(m)

运行结果

#extend()没有返回值,不能赋值给某个变量。

None

代  码

#extend()可以将列表1和列表2拼接在一起:list1.extend(list2)。

mlist1=['愿星光为你','漆黑里指路']

mlist2=['萤火明晰双眼','辨分真与假']

mlist1.extend(mlist2)

print(mlist1)

运行结果

['愿星光为你', '漆黑里指路', '萤火明晰双眼', '辨分真与假']

代  码

mlist= ["地球之所以是圆的", "是因为上天想让那些因意外而分开的人有机会能够重新相遇"]

mlist.extend(['在不久后的某年某月的某一天。。。'])

print(mlist)

运行结果

['地球之所以是圆的', '是因为上天想让那些因意外而分开的人有机会能够重新相遇', '在不久后的某年某月的某一天。。。']

代  码

运行结果

5.3)、insert() 方法插入元素

语  法

listname.insert(index , obj)

参  数

insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。

index 表示指定位置的索引值。

注  意

1、当插入列表或者元组时,insert() 也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。

2、注意,索引是从0开始的。如果遇到那个i已经超过了最大索引值,会自动将所要插入的元素放到列表的尾部,即追加。

3、使用insert把新元素加在列表尾,用-1来指定下标是不行的,需要使用大于等于列表长度的下标,只要insert的第一个参数是超过最大下标的值len(listname),都默认插入列表的尾部。

没有返回值

知识拓展

  insert() 主要用来 列表的中间位置插入元素,如果你仅仅希望在列表的末尾追加元素,那更建议使用 append() extend()

1index=0时,insert() 从头部插入obj
2index > 0 index < len(list)时,insert() index的位置插入obj
3:当index < 0 abs(index) < len(list)时,insert() 从中间插入obj(index = -1除外)
4:当index = -1时,insert() 是插在倒数第二位的
5:当index < 0 abs(index) >= len(list)时,insert() 从头部插入obj
6:当index >= len(list)时,insert() 从尾部插入obj

实 例

代  码

#插入元素

mlist= ["小猫咪", "小白兔", "小青蛙", "小狗狗", "小灰兔", "小鸟"]

print(mlist)

mlist.insert(1,"小松鼠")

print(mlist)

运行结果

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔', '小鸟']

['小猫咪', '小松鼠', '小白兔', '小青蛙', '小狗狗', '小灰兔', '小鸟']

代  码

#插入元组,整个元组被当成一个元素

mlist= ["小猫咪", "小白兔", "小青蛙", "小狗狗", "小灰兔"]

print(mlist)

mlist.insert(1,('小松鼠', '小鸟'))

print(mlist)

运行结果

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔']

['小猫咪', ('小松鼠', '小鸟'), '小白兔', '小青蛙', '小狗狗', '小灰兔']

代  码

#插入列表,整个列表被当成一个元素

mlist= ["小猫咪", "小白兔", "小青蛙", "小狗狗", "小灰兔"]

print(mlist)

mlist.insert(2,['小海豚', '小鱼'])

print(mlist)

运行结果

['小猫咪', '小白兔', '小青蛙', '小狗狗', '小灰兔']

['小猫咪', '小白兔', ['小海豚', '小鱼'], '小青蛙', '小狗狗', '小灰兔']

代  码

#插入字符串,整个字符串被当成一个元素

mlist=['萤火明晰双眼','辨分真与假']

print(mlist)

mlist.insert(0, "逆境清醒")

print(mlist)

运行结果

['萤火明晰双眼', '辨分真与假']

['萤火明晰双眼', '辨分真与假', '逆境清醒']

#在原来的mlist中,最大索引值是4,如果要mlist.insert(5,'聪明又很笨的孩子'),则表示将"聪明又很笨的孩子"插入到索引值是5的前面,但是索引值是5的没有。5前面就是4的后面,就是追加

代  码

mlist= ['Adversity Awake','不变的你','伫立在茫茫的尘世中','孤独地提着易碎的灯笼']

mlist.insert(5,'聪明又很笨的孩子')

print(mlist)

运行结果

['Adversity Awake', '不变的你', '伫立在茫茫的尘世中', '孤独地提着易碎的灯笼', '聪明又很笨的孩子']

代  码

#如果遇到那个i已经超过了最大索引值,会自动将所要插入的元素放到列表的尾部,即追加。

mlist = [4,1,5,8,0]

mlist.insert(9,292)

print(mlist)

运行结果

[4, 1, 5, 8, 0, 292]

#a和b是两个列表变量,列表a为[3, 6, 9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。 例如:键盘输入列表b为[1, 2,3], 因此,屏幕输出计算结果为[1,3,2, 6, 3, 9]

代  码

a = [3,6,9]

b = eval(input()) #输入格式:[1,2,3]

j=1

for i in range(len(a)):

    b.insert(j,a[i])

    j+= 2

print(b)

运行结果

键盘输入:[1,2,3]

屏幕输出:[1, 3, 2, 6, 3, 9]

代  码

# 使用insert把新元素加在列表尾,用-1来指定下标是不行的

mlist = [4,7,0,2,8,3,5]

print ("原来列表是 :  ",mlist)

mlist.insert(-1,6)

print ("现在列表是  : ",mlist)

运行结果

原来列表是 :   [4, 7, 0, 2, 8, 3, 5]

现在列表是  :  [4, 7, 0, 2, 8, 3, 6, 5]

代  码

#大于等于列表长度的下标,只要insert的第一个参数是超过最大下标的值len(listname),都默认插入列表的尾部。

mlist = [4,7,0,2,8,3,5]

print ("原来列表是 :  ",mlist)

mlist.insert(len(mlist),6)

print ("现在列表是  : ",mlist)

print()

运行结果

原来列表是 :   [4, 7, 0, 2, 8, 3, 5]

现在列表是  :  [4, 7, 0, 2, 8, 3, 5, 6]

代  码

#大于等于列表长度的下标,只要insert的第一个参数是超过最大下标的值len(listname),都默认插入列表的尾部。

mlist = [4,7,0,2,8,3,5]

print ("原来列表是 :  ",mlist)

mlist.insert(10,6)

print ("现在列表是  : ",mlist)

运行结果

原来列表是 :   [4, 7, 0, 2, 8, 3, 5]

现在列表是  :  [4, 7, 0, 2, 8, 3, 5, 6]

代  码

运行结果

5.4)、用运算符插入另一个列表的元素

  列表是序列的一种,所以也可以使用+进行连接,这样就相当于在第一个列表的末尾添加了另一个列表。

  使用+进行连接,是组合拼接列表,会生成一个新的列表,原有的列表不会被改变。

  *用于重复列表

语  法

list[listname]=list[listname1]+...+ list[listnameN]

语  法

*用于重复列表

注  意

+更多的是用来拼接列表, 如果想在列表中插入元素,应该使用几个专门的方法。

使用+运算符可以将多个序列连接起来;

实 例

代  码

#使用+拼接两个列表

mlist1= [1,2,3,4,5,6]

mlist2= [7,8,9,10]

mlist = mlist1 + mlist2

print(mlist)

运行结果

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

代  码

#使用 * 构建重复元素列表

print(['喵!'] * 3)

运行结果

['!', '!', '!']

代  码

#使用 * 构建重复元素列表

print(['果'] * 8)

print(['果'] * 8)

print(['果'] * 4,"小朋友们都爱",['果'] * 2)

运行结果

['', '', '', '', '', '', '', '']

['', '', '', '', '', '', '', '']

['', '', '', ''] 小朋友们都爱 ['', '']

代  码

#使用 * 构建重复元素列表

mlist= ['巴啦啦能量','乌特拉','魔仙力量提升! ']

print(mlist * 2)

运行结果

['巴啦啦能量', '乌特拉', '魔仙力量提升! ', '巴啦啦能量', '乌特拉', '魔仙力量提升! ']

代  码

#使用+拼接四个列表

mlist1= ["下一秒钟,命运如何转动,没有人会晓得"]

mlist2= ["我说希望无穷"]

mlist3= ["你猜美梦成空"]

mlist4= ["相信和怀疑,总要决斗"]

print(mlist1+mlist2+mlist3+mlist4)

运行结果

['下一秒钟,命运如何转动,没有人会晓得', '我说希望无穷', '你猜美梦成空', '相信和怀疑,总要决斗']

代  码

运行结果

代  码

运行结果

篇幅太长,请点击下一章查看后续实例详解 ------》

逆境清醒 Python List列表——全实例详解系列
1 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(一)》
2 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(二)》
3 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(三)》
4 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(四)》
5 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(五)》
6 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(六)》
7 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(七)》
8 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(八)》
9 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(九)》
10 《 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__全实例详解(十)》

 推荐阅读:

14 ​​
13 用代码过中秋,python海龟月饼你要不要尝一口?
12 Python List 列表(创建、索引和切片、列表反转、添加删除修改查找元素)__实例详解(全)
11 用代码写出浪漫合集(python 绘制爱心、玫瑰花,字符画爱心、前端特效玫瑰、爱心)
10 Python函数方法实例详解全集(更新中...)
9 matplotlib 自带绘图样式效果展示速查(全)
8 手机屏幕坏了____怎么把里面的资料导出(18种方法)
7 2022年8月多家权威机构____编程语言排行榜__薪酬状况
6 Python中Print()函数的用法___详解(全,例多)
5 色彩颜色对照表系列(1~5)(16进制、RGB、CMYK、HSV、中英文名)
4 Tomcat端口配置(详细)
3 Tomcat 启动闪退问题解决集(八大类详细)
2 Apache Tomcat 各版本发行时间( v10.1.0-M17~v3.0)
1 Tomcat10安装(Windows环境)(详细)

你可能感兴趣的:(python,python,开发语言,经验分享,青少年编程,后端)