Python自学笔记---3.列表(下)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DataCow/article/details/81008883

最近有些懒散,笔记停更了几天,本节我们延续上节遗留的问题继续开始。将介绍python与列表相关的四个函数与11种方法。
本节的例子将不再给出实验结果,看到的朋友最好自己手动敲一遍,这样体会更深刻。每个例程都是一个独立的实验。

  • 在声明一个列表的名称时应该刻意避免使用list,当然其他python的关键字也要避免

列表相关的四个函数

  • len函数,len函数输出为int型所以要调用str转成字符型
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
print("列表的元素个数为" + str(len(list1)))
  • max函数,返回列表最大值
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
print("列表中最大值为 \"" + max(list1) + "\"\n")
  • min函数,返回列表最小值
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
print("列表中最小值为 \"" + min(list1) + "\"\n")
  • list函数,将元组转换为列表
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
stock = ('GOOD', 100, 490.10)
print("创建的元组为:", stock)
list2 = list(stock)
print("转换后的列表为:", list2)

Python内置的11种方法

  • 1.在列表末尾添加新的对象append
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
list1.append("tail")
print("在列表末尾追加“tail”元素", list1)
#再来看下面这个追加
list1.append("adfa" * 3)
print("追加后的列表", list1)    #仔细体会下这种操作,真心方便啊,而且还降低错误率
list1.append(list2)    #一个列表也可以作为一个元素被添加至末尾
print("\n在列表末尾追加list2", list1)
  • 2.统计某个元素在列表中出现的次数count
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
stock = ('GOOD', 100, 490.10)
list2 = list(stock)
list1.append("tail")
print("在列表中“hello”元素出现的次数为", list1.count("hello"))
print("在列表中list2出现的次数为", list1.count(list2))    #此时list2已经被当作一个元素来对待了
print(list1.count("100"))    #由此打印可见,count方法不能计数嵌套的列表
  • 3.在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)extend
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
list3 = ['Google', 'Runoob', 'Taobao']
list1.extend(list3)  # 扩展列表,类似于表达式 list1 += list3
print("扩展后的列表为:",list1)
  • 4.从列表中找出某个值第一个匹配项的索引位置index
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
print("hello的索引号为:",list1.index("hello"))

#再来看下面这个实验
stock = ('GOOD', 100, 490.10)
print("创建的元组为:", stock)
list2 = list(stock)
list1.append(list2)
print ("GOOD 的索引号为:",list1.index("GOOD"))    #这个方法的调用说明index不能访问嵌套的列表
  • 5.将对象插入列表insert
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
list2 = ['Google', 'Runoob', 'Taobao']
#将“haha”插入hello后面
list1.insert(2, "haha")
print("将“haha”插入hello后的列表为", list1)
list1.insert(2, list2)
print("将list2 插入hello后的列表为", list1)
  • 6.移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 pop,调用该方法时只能填写该元素的索引号
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
print("pop前的列表", list1)
list1.pop()
print("pop后的列表", list1)
#移除某个具体的元素,比如 “1256.63”
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
list1.pop(2)
print("移除“1256.63”后的列表", list1)
  • 7.移除列表中某个值的第一个匹配项remove
list1 = ["10", "hello", "haha", "zh1314", "adfa", "haha"]
list2 = ['Google', 'Runoob']
print("移除前的列表", list1)
list1.remove("haha")
print("移除后的列表", list1)
list1.insert(2, list2)
print("移除前的列表", list1)
list1.remove(list2)
print("移除后的列表", list1)
  • 8.反向列表中元素reverse
list1 = ["10", "hello", "haha", "zh1314"]
list2 = ['Google', 'Runoob']
list1.reverse()
print ("列表反转后: ", list1)
list1.reverse()#恢复原列表list1
list1.insert(2, list2)
list1.reverse()
print ("嵌套列表反转后: ", list1)
  • 9.对原列表进行排序sort
sort()方法语法
list.sort(cmp=None, key=None, reverse=False)
cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
#实例
list1 = ['列','表','python']
list2 = [100, 200, 300,400,300]
list1.sort()
list2.sort(reverse=True)#按降序排列 
print(list1,list2)
#对int 和 str 类型的比较
list1 = ['列','表','python',[100, 200, 300]]
list1.sort()#这句会报错,可见 sort 方法不适合 int 和 str 类型的比较
#list 和 str 也是不能相互比较,这个实验就不做了
  • 10.对原列表进行排序sort
list1 = ["10", "hello", "1256.63", "zh1314", "adfa"]
list1.clear() #等同于list1 = []
print ("列表清空后 : ", list1)
  • 11.复制列表copy
a=[0,1,2,3,4,5]
b=a
c=a.copy()
print(a, b, c)
#一下四行代码确认了copy方法时赋值列表a的一个副本,并不是类似于C语言中的指针赋值
del a[1]
b.remove(2)
c.append(66)
print(a, b, c)

总结

  • 本节首先学习了python种与列表相关的四个函数:求列表的长度,大小值,将元组转换为列表
  • 然后学习了python内置的11种方法,并对每个发放都提供了一组实验代码,虽然代码很简单,而且笔者感觉并没有完全发掘出来这几种方法的作用,待后续学习的不断深入,在做补充。对于博客中出现的错误,希望路过的大神留言指导
  • “学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。故曰:教学相长也

猜你喜欢

转载自blog.csdn.net/DataCow/article/details/81008883