博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础---容器列表List
阅读量:4920 次
发布时间:2019-06-11

本文共 3299 字,大约阅读时间需要 10 分钟。

数据容器List(有序集合)

List列表:

定义:List由一系列按特定顺序排列的元素组成;

     使用 [] 表示列表,其中元素使用" , "分隔

创建列表: list = [str1, str2, str3, ...]

1 list1 = ['a', 'b', 'c', 'd']2 print(list1)3 --->['a', 'b', 'c', 'd']

 序列操作:(用法等同于String)

1、相加:new_list = list1 +list2

2、相乘:new_list = list * num

3、成员检查:in   &   not in    

 

基本操作:

1、切片:访问List中的元素:

  获取单个元素:x = list[num]  num为元素在列表中的位置

  获取多个元素:x = list[star : end]  参数为起止区间,结果不包含end位元素

  如果进行复制,可使用 [:]

 

  如果进行倒数排序,可使用[:: -1]

 

1 list1 = ['a', 'b', 'c', 'd']2 print(list1[2])3 --->c4 print(list1[0:2])5 --->['a', 'b']

2、修改元素:即重新赋值:

  list[num] = str

1 list1 = ['a', 'b', 'c', 'd']2 list1[1] = 'abc'3 print(list1)4 --->['a', 'abc', 'c', 'd']

3、删除元素:

   del list[num]   删除指定位置的元素,删除的元素不能再以任何方式使用

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 del list1[3]3 print(list1)4 --->['a', 'b', 'c', 'e', 'f', 'g']

   list.pop(num)    删除指定位置的元素,默认删除最后一位;

            删除的元素可以赋值给新的变量,继续使用

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 x = list1.pop()3 print(list1)4 --->['a', 'b', 'c', 'd', 'e', 'f']5 6 y = list1.pop(3)7 print(list1)8 --->['a', 'b', 'c', 'e', 'f']

 

   list.remove(str=)  根据值删除元素,删除的元素可以赋值给新的变量,继续使用

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 x = list1.remove('c')3 print(list1)4 --->['a', 'b', 'd', 'e', 'f', 'g']

   list.clear()     将列表元素清空,得到一个空的列表

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 list1.clear()3 print(list1)4 --->[]

 4、添加元素:

  list.append(obj)     在列表末尾添加新元素obj

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 list1.append('ABC')3 list1.append('HOME')4 print(list1)5 --->['a', 'b', 'c', 'd', 'e', 'f', 'g', 'ABC', 'HOME']

  list.insert(index, obj)   在指定位置插入新元素,index后的元素索引自动+1

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 list1.insert(0, 'ABC')3 print(list1)4 --->['ABC', 'a', 'b', 'c', 'd', 'e', 'f', 'g']

5、复制列表:

  list.copy()

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 list2 = list1.copy()3 print(list2)4 --->['a', 'b', 'c', 'd', 'e', 'f', 'g']

6、计算列表中某元素出现的个数:

  list.count(obj)

1 list1 = ['a', 'a', 'b', 'c', 'd', 'e', 'f', 'g']2 print(list1.count('a'))3 --->2

7、在列表末尾一次性增加另一个列表的多个值:

  list.extend(seq)  seq为元素列表

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 list2 = [1, 2, 3, 4, 5]3 list1.extend(list2[0:3])4 print(list1)5 --->['a', 'b', 'c', 'd', 'e', 'f', 'g', 1, 2, 3]

8、获取某元素的索引值:

  list.index(obj)

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']2 print(list1.index('d'))3 --->3

9、列表元素的排序:

  list.reverse() 永久改变;将列表元素反转,如果想改回来,再调用一次reverse()

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']2 list1.reverse()3 print(list1)4 --->['g', 'f', 'c', 'e', 'd', 'b', 'a']

  list.sort(key=, reverse=) 永久改变;将列表元素排序,

                默认为升序,降序reverse=True

                key参数可以设置自定义排序法则

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']2 list1.sort()3 print(list1)4 --->['a', 'b', 'c', 'd', 'e', 'f', 'g']

  sorted(list) 临时改变;返回一个新的列表

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']2 print(sorted(list1), id(sorted(list1)))3 print(list1, id(list1))4 --->['a', 'b', 'c', 'd', 'e', 'f', 'g'] 880985365 --->['a', 'b', 'd', 'e', 'c', 'f', 'g'] 88820712

 

10、列表长度

  len(list)

 

操作列表:

1、遍历列表:

  for i in list

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']2 for i in list1:3     print(i)

2、列表推导式:用于创建新列表

  list2 = [n for n in list1 if 判断条件]

1 list1 = [1, 2, 3, 4, 5, 6]2 list2 = [n * 3 for n in list1 if n % 2 == 1]3 print(list2)4 --->[3, 9, 15]

 

  

 

转载于:https://www.cnblogs.com/lambs/p/8468735.html

你可能感兴趣的文章
如何居中浮动元素
查看>>
rgba()和opacity的区别
查看>>
盒子模型以及css3指定盒子模型种类的box-sizing
查看>>
JS基础-连续赋值(转)
查看>>
前端解决跨域问题(转)
查看>>
dom元素的增删查改
查看>>
从一张搞笑图看JavaScript的语法和特性
查看>>
JavaScript中双等的使用情况
查看>>
leetcode 20.有效的括号
查看>>
线程安全性
查看>>
SecureCrt自动化
查看>>
移动端页面滚动穿透问题解决方案
查看>>
书:《腾讯传》
查看>>
关于jquery中html()、text()、val()的区别
查看>>
设置html title标题左侧的小图标
查看>>
5、事务,索引
查看>>
如何从思维上应对
查看>>
《离散数学》-图论6.9
查看>>
高斯定理的证明
查看>>
Rails插件:CanCan权限验证插件学习总结
查看>>