当前位置:   article > 正文

python3数据类型之列表_python3 class list

python3 class list

python3中的数据类型可以以组来出现,组这种数据类型可以分为三类列表(list)、字典(dict)和元组(tuple)。

 

列表

列表是使用[]括起来的一个个数据,每个数据之间一逗号分隔。数据不分类型,数字、字母、字符串、甚至是列表、字典、元组都可以。任意的列表、字典、元组放在列表、字典、元组中叫做嵌套。如下:

  1. #纯数字#
  2. >>> [1,2,3,4,5,6,7,8,9,10]
  3. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  4. >>> type([1,2,3,4,5,6,7,8,9,10])
  5. <class 'list'>
  6. #纯字母,注意:字母、字符串(字母其实也属于字符串)需要加一对引号(单双三引号都可以)#
  7. >>> ['A','B','C','D','E','F','G']
  8. ['A', 'B', 'C', 'D', 'E', 'F', 'G']
  9. >>> type(['A','B','C','D','E','F','G'])
  10. <class 'list'>
  11. #数字、字符串、bool类型(True)任意组合#
  12. >>> [1,'2','a','小明',True]
  13. [1, '2', 'a', '小明', True]
  14. >>> type([1,'2','a','小明',True])
  15. <class 'list'>
  16. #嵌套:数字、字符串、bool类型、列表、字典、元组任意组合#
  17. >>> [[1,'2','w'],True,1,'2','a',(1,'2','a'),{'1':'6','2':'8','a':'b'}]
  18. [[1, '2', 'w'], True, 1, '2', 'a', (1, '2', 'a'), {'1': '6', '2': '8', 'a': 'b'}]
  19. >>> type([[1,'2','w'],True,1,'2','a',(1,'2','a'),{'1':'6','2':'8','a':'b'}])
  20. <class 'list'>
  21. #带()的为元组,带{}为字典,具体特性下面会说#

列表可以任意读增删改以及判定其中的任意内容,其中增删改之后只要再保存回对应的变量里,就会永久改变。读取的数据可以和其他数据任意组合并输出。

首先我们先看下读取,如下:

  1. #读取:直接在列表的后方添加一个[]包含的数字序列,0表示列表从左往右数第一个,-1表示从右往左数第一个#
  2. >>> ['A','B','C','D','E','F','G'][1]
  3. 'B'
  4. #直接使用变量做读取#
  5. >>> first=['A','B','C','D','E','F','G']
  6. >>> print (first[1])
  7. 'B'
  8. #读取内容与其他数据组合并输出#
  9. >>> first=['A','B','C','D','E','F','G']
  10. >>> print ('hello,'+first[1])
  11. hello,B

如果想读取某个范围的列表可以通过使用[1:5]这种的方式来实现,[1:5]中:的左边代表起始位置,:右边代表终止位置,但是右边的数字要比你要读取的那个位置数大一,比如你要读取前六位,应该是[0:7]而非[0:6],这是python中的差一性。

如果将[1:5]中的1去掉,即[:5],这个代表从最开始读取,一直读取到第四位。如果将[5:10]中的10去掉,即[5:],这个代表从第五位截取,一直截取到最后一位。如果是[-3:]代表的就是从倒数第三位一直读取到最后。

  1. #范围读取(1)#
  2. >>> ['A','B','C','D','E','F','G'][0:4]
  3. ['A','B', 'C', 'D']
  4. #范围读取(2)#
  5. >>> ['A','B','C','D','E','F','G'][:4]
  6. ['A','B', 'C', 'D']
  7. #范围读取(3):从第二位到第十位,每隔一位截取一次#
  8. >>> ['A','B','C','D','E','F','G','H','I','J','K'][1:11:2]
  9. ['B', 'D', 'F', 'H', 'J']

也可以判断某个数据是否在列表中(使用in)或者是否不在列表中(not in)或者列表一共有几位(len):

  1. #是否在列表中#
  2. >>> 'A' in ['A','B','C','D','E','F','G','H','I','J','K']
  3. True
  4. >>> '1' in ['A','B','C','D','E','F','G','H','I','J','K']
  5. False
  6. #是否不在列表中#
  7. >>> 'A' not in ['A','B','C','D','E','F','G','H','I','J','K']
  8. False
  9. >>> '1' not in ['A','B','C','D','E','F','G','H','I','J','K']
  10. True
  11. #总共有几位#
  12. >>> len(['A','B','C','D','E','F','G','H','I','J','K'])
  13. 11

 还可以判定列表中最大值和最小值是多少,数字的话按0最小来拍,字符则是按字母排序来排,有空格则是空格最小。

  1. >>> min(['小王','小李','小安','小张','小赵','小沈'])
  2. '小安'
  3. >>> max(['小王','小李','小安','小张','小赵','小沈'])
  4. '小赵'
  5. >>> min(['A','B','C','D','E','F','G','H','I','J','K'])
  6. 'A'
  7. >>> max(['A','B','C','D','E','F','G','H','I','J','K'])
  8. 'K'
  9. >>> min([1,2,3,4,5,6,7,8,9,10,11])
  10. 1
  11. >>> max([1,2,3,4,5,6,7,8,9,10,11])
  12. 11
  13. #但如果是字符串格式的数字,则是9最大,因为这时候所有数据都是字符串#
  14. >>> min(['1','2','3','4','5','6','7','8','9','10','11'])
  15. '1'
  16. >>> max(['1','2','3','4','5','6','7','8','9','10','11'])
  17. '9'

列表数据的修改:

  1. #修改列表数据#
  2. >>> first=['A','B','C','D','E','F','G']
  3. >>> first[0]='AAA'
  4. >>> print (first)
  5. ['AAA', 'B', 'C', 'D', 'E', 'F', 'G']

我们可以使用sort()或者sort()依据序列(即0、1、2)来对列表进行永久性排序。

  1. #sort()永久性排序:正序#
  2. >>> test=[1,3,5,7,9,11,2,4,6,8,10]
  3. >>> test.sort()
  4. >>> print(test)
  5. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  6. #sort()永久性排序:倒序#
  7. >>> test=[1,3,5,7,9,11,2,4,6,8,10]
  8. >>> test.sort(reverse=True)
  9. >>> print(test)
  10. [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  11. #sorted()临时排序#
  12. >>> sorted([1,3,5,7,9,11,2,4,6,8,10])
  13. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  14. #验证sorted()临时排序#
  15. >>> test = [1,3,5,7,9,11,2,4,6,8,10]
  16. >>> test1 = sorted([1,3,5,7,9,11,2,4,6,8,10])
  17. >>> print(test1)
  18. >>> print(test)
  19. [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  20. [1, 3, 5, 7, 9, 11, 2, 4, 6, 8, 10]

也可以用reverse()(和上面sort用法里面的反序是一样的)将列表现有序列相反排列: 

  1. >>>test = [1,3,5,7,9,11,2,4,6,8,10]
  2. >>>test.reverse()
  3. >>>print (test)
  4. [10, 8, 6, 4, 2, 11, 9, 7, 5, 3, 1]

列表数据的增加:

  1. #添加列表数据1:直接插入(insert()函数) 注:下文中insert(0,'efg')中的0代表序列数,在第几位插入就填几#
  2. first=['A','B','C','D','E','F','G']
  3. first.insert(0,'efg')
  4. print (first)
  5. ['efg', 'A', 'B', 'C', 'D', 'E', 'F', 'G']
  6. #添加列表数据2:在末尾插入(append()函数)#
  7. >>> first=['A','B','C','D','E','F','G']
  8. >>> first.append('aaa')
  9. >>> print (first)
  10. ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'aaa']
  11. #添加列表数据3:列表相加#
  12. >>> ['A','B','C','D','E','F','G']+['A', 'B', 'C', 'D', 'E', 'F', 'G', 'aaa']
  13. ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'aaa']
  14. #重复列表数据#
  15. >>> ['1','2','3']*3
  16. ['1', '2', '3', '1', '2', '3', '1', '2', '3']

列表数据的删除:

  1. #删除列表数据1:根据位置删除(del),del first[0]中的0填删除数据的序列位即可#
  2. >>> first=['A','B','C','D','E','F','G']
  3. >>> del first[0]
  4. >>> print (first)
  5. ['B', 'C', 'D', 'E', 'F', 'G']
  6. #删除列表数据2:pop()(将删除的数据值存储到其他地方,以便以后可以调用)#
  7. #在pop()的()中添加相应位数即可删除相应数值,如不添加数字则默认删除最后一位#
  8. >>> first = ['A','B','C','D','E','F','G']
  9. >>> first_pop = first.pop()
  10. >>> print (first)
  11. >>> print (first_pop)
  12. ['A','B','C','D','E','F']
  13. G
  14. >>> first = ['A','B','C','D','E','F','G']
  15. >>> first_pop = first.pop(0)
  16. >>> print (first)
  17. >>> print (first_pop)
  18. ['B','C','D','E','F','G']
  19. A
  20. #根据数据内容删除#
  21. >>> first = ['A','B','C','D','E','F','G']
  22. >>> first.remove('C')
  23. >>> print (first)
  24. ['A','B','D','E','F','G']

当然,并非是很多数据才能组成一个列表,只有一个数据也可以组成一个列表。即使没有数据,只要有[]就是列表。

  1. >>> type([1])
  2. <class 'list'>
  3. >>> type([])
  4. <class 'list'>

最后,还有一个用法len()这个不止在列表,在很多地方(比如字符串)都可以使用,作用是查看数据长度。

  1. >>> len([10, 8, 6, 4, 2, 11, 9, 7, 5, 3, 1])
  2. 11

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/177655
推荐阅读
相关标签
  

闽ICP备14008679号