五大金刚之list八大操作详解

   日期:2020-09-27     浏览:107    评论:0    
核心提示:五大金刚之list八大操作详解列表是最常用的Python数据类型之一,也是五大金刚中操作方式最多的一个数据类型。本文将从八个角度粉碎性击破这一难点。1.创建pyhon中list中不需要具有相同的类型,用[ ]表示一个列表主要有两种创建方法:用[]括住直接创建,或者用关键词list()创建a = [1,2,3,4]b= ["zhangsan","lisi","wangwu"]c = [1,2,"zhangsan",(1,2)] #但元组(1,2)将视为一个元素>>[

五大金刚之list八大操作详解

列表是最常用的Python数据类型之一,也是五大金刚中操作方式最多的一个数据类型。

本文将从八个角度粉碎性击破这一难点。

1.创建

  • pyhon中list中不需要具有相同的类型,用[ ]表示一个列表

  • 主要有两种创建方法:用[]括住直接创建,或者用关键词list()创建

a = [1,2,3,4]
b= ["zhangsan","lisi","wangwu"]
c = [1,2,"zhangsan",(1,2)] #但元组(1,2)将视为一个元素
>>[1, 2, 3, 4]
>>['zhangsan', 'lisi', 'wangwu'] 
>>[1, 2, 'zhangsan', (1, 2)]
  • list()可接受一个iterable的对象
d = list("hello")
f = list(range(4))
g = list((1,2,3,4))
>>['h', 'e', 'l', 'l', 'o']
>>[0, 1, 2, 3]
>>[1, 2, 3, 4]

2.增加

  • 增加元素主要有三种方法:append,insert,extend

append: 可以在列表后面增添一个新元素

cat = []
cat.append("tuantuan")
cat.append("yuanyuan")
print(cat)
>>['tuantuan', 'yuanyuan']

insert: 可以在指定元素前面增添一个新元素

cat.insert(1,"daju")
cat.insert(8,"maoye") #如果指定位置超出列表范围,会自动加到最后一位
print(cat)
['tuantuan', 'daju', 'yuanyuan', 'maoye']

extend: 两个列表做加法

dog = ["haha","beibei"]
cat.extend(dog) #将dog加入到cat里
print(cat)
>>['tuantuan', 'daju', 'yuanyuan', 'maoye', 'haha', 'beibei']

3.删除

  • 对于一个列表有三种删除方式:del,pop,remove

del:为python自带的运算符,不需要加括号

print(cat)
del cat[-1]
print(cat)
['tuantuan', 'daju', 'yuanyuan', 'maoye', 'haha', 'beibei']
['tuantuan', 'daju', 'yuanyuan', 'maoye', 'haha']

pop和del直接删除不同,它是将元素拎出来删除

  • 默认去掉最后一个
  • 可以指定下标
  • 会返回pop的值
l = [1,2,3,4,5]
print(l.pop())
print(l.pop(0))
print(l)
>>5
>1
>>[2, 3, 4]

remove 是定义在list下面的一个方法,只会删除符合条件的元素

print(l)
if 2 in l:
    l.remove(2)
print(l)
>>[2, 3, 4]
>>[3, 4]

4.修改

  • 通过索引对指定数值进行修改
p = [1,2,3,4,5]
p[0] = 9
print(p)
>>[9, 2, 3, 4, 5]

5.查找

  • 查询元素[ ],查询索引index(),查询长度len()
u = [3,8,7,5,2]
print("第二个元素是: ",u[1])
print("元素2的索引值是:",u.index(2))
print("列表长度是:",len(u))
>>第二个元素是:  8
>>元素2的索引值是: 4
>>列表长度是: 5

6.操作

  • 主要有循环、+、* 、sort、reverse、max、min

循环

name = ["崔","张","李","王"]
for n in name:
    print(n ,end="")
print()
for index,n in enumerate(name):
    print(f"no.{index} is {n}")
>>崔张李王
>>no.0 is>>no.1 is>>no.2 is>>no.3 is

基本操作

print(name*2)
>>['崔', '张', '李', '王', '崔', '张', '李', '王']

print(name+[1,2,3])
>>['崔', '张', '李', '王', 1, 2, 3]

排序

  • reverse() 将列表倒序排列,该方法没有返回值。
  • sort() 将列表正序排列,该方法没有返回值
  • sorted() 将列表正序排列,但有返回值,而且不改变原列表
#reverse()
score = [67,84,78,56,98]
score.reverse()
print(score)
>>[98, 56, 78, 84, 67]
#sort()
score.sort()
>>[56, 67, 78, 84, 98]
#sorted()
score = [67,84,78,56,98]
print(sorted(score))
print(score)
>>[56, 67, 78, 84, 98]
>>[67, 84, 78, 56, 98]

max、min

score = [67,84,78,56,98]
print(max(score))
print(min(score))
>>98
>>56

7.切片

  • 切片操作 start : end : step
score = [67,84,78,56,98]
print(score[0:4:2])
>>[67, 78]

8.复制

推导式

nums = list(range(10))
print(nums)
nums_2 = [n+2 for n in nums]
print(nums_2)
nums_3 = [n for n in nums if n%2==0]
print(nums_3)
>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>[0, 2, 4, 6, 8]

复制

nums = list(range(10))
nums_4 = nums[:]
print(nums_4)
>>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

创作不易,如果觉得有帮助的话希望可以点个赞,十分感谢!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服