【Python基础知识】(二)列表简介、操作列表元素

列表

1、列表的概念和定义

  列表由一系列按特定顺序排列的元素组成。可以将任何类型的元素加入列表中(类型可以不相同),其中元素之间可以没有任何关系。所创建的大多数列表都将是动态的,将随着程序的运行增删元素

  在Python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素。

languages = ['C', 'C++', 'Java', 'Python']

   在Python中,对于一个含有n个元素的列表,列表元素的索引是从0到(n-1)(例如访问第一个列表元素用索引0,访问第四个列表元素用索引3等等)。超出这个范围会导致索引错误(IndexError)。

  特别的,可以用索引-1指定最后一个列表元素,用索引-2指定倒数第二个列表元素,以此类推。

  

  列表中的元素可以当作普通变量来执行各种方法和操作。

languages = ['C', 'C++', 'Java', 'Python']
message = "I learned " + languages[0].lower() + " language first."

print(message)

2、打印整个列表或列表中的元素

languages = ['C', 'C++', 'Java', 'Python']
print(languages)
print(languages[0])
print(languages[3])
print(languages[3].upper())

 输出为:

['C', 'C++', 'Java', 'Python']
C
Python
PYTHON

  #注意:打印整个列表时,Python将打印列表的内部表示,包括方括号、逗号和单引号

 操作列表元素

1、修改元素

  采用重新赋值的方式直接修改列表中的元素。

languages = ['C', 'C++', 'Java', 'Python']
languages[3] = 'C#'
print(languages)

 输出为:

['C', 'C++', 'Java', 'C#']

2、添加元素

  (1).append( '要添加的元素' ):列表末尾添加元素

languages = ['C', 'C++', 'Java', 'Python']
languages.append('Go')
print(languages)

 输出为:

['C', 'C++', 'Java', 'Python', 'Go']

   

  (2).insert( 插入位置索引, '要插入的元素' ):在列表中任意位置,包括开头和结尾)插入元素

languages = ['C', 'C++', 'Java', 'Python']
languages.insert(0, 'A')
print(languages)

languages = ['C', 'C++', 'Java', 'Python']
languages.insert(2, 'OC')
print(languages)

languages = ['C', 'C++', 'Java', 'Python']
languages.insert(4, 'Matlab')
print(languages)

 输出为:

['A', 'C', 'C++', 'Java', 'Python']
['C', 'C++', 'OC', 'Java', 'Python']
['C', 'C++', 'Java', 'Python', 'Matlab']

 3、删除元素

  (1)del语句:可删除任何位置的列表元素,条件是知道其索引

languages = ['C', 'C++', 'Java', 'Python']
del languages[1]
print(languages)

 输出为:

['C', 'Java', 'Python']

  (2).pop():删除列表末尾的元素,并让你能够继续使用它(也被叫做“弹出”)。

      .pop( 要删除元素的索引 ):删除任何位置的元素,并让你能够继续使用它(特别的,当索引为0/-1时,可删除开头/末尾的元素)。

languages = ['C', 'C++', 'Java', 'Python']
popped_languages = languages.pop()
print(languages)  
print(popped_languages)   

languages = ['C', 'C++', 'Java', 'Python']
popped_languages = languages.pop(1)
print(languages)  
print(popped_languages)     

 输出为:

['C', 'C++', 'Java']
Python
['C', 'Java', 'Python']
C++

  (3).remove( '要删除的元素的值' ):当不知道要删除的元素的索引,而知道这个元素的值时使用。

languages = ['C', 'C++', 'Java', 'Python']
languages.remove('Java')
print(languages)

 输出为:

['C', 'C++', 'Python']

  #注意:.remove()只能删除第一个指定的值,如果要删除的值在列表中可能出现多次,就要使用循环来判断是否删除了所有这样的值。

列表排序、测量长度

1、列表排序

  (1).sort():按字母从小到大(也叫做按字母顺序排列)永久性修改列表元素的排列顺序(无法恢复成原来的顺序)。

      .sort( reverse = True ):按字母从大到小永久性修改列表元素的排列顺序。

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse = True)
print(cars)

 输出为:

['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']

  (2).sorted():对列表进行临时排序保留列表元素原来的排列顺序,同时以特定的顺序呈现它们(字母顺序排列)。

      .sorted( reverse = True ):按与字母顺序相反的顺序进行临时排列。

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(sorted(cars))
print(cars)

 输出为:

['audi', 'bmw', 'subaru', 'toyota']
['bmw', 'audi', 'toyota', 'subaru']

  (3).reverse()永久性反转列表元素的排列顺序。可通过再次调用.reverse()恢复成原来的排列顺序。

cars = ['bmw', 'audi', 'toyota', 'subaru']

cars.reverse()
print(cars)

cars.reverse()
print(cars)

 输出为:

['subaru', 'toyota', 'audi', 'bmw']
['bmw', 'audi', 'toyota', 'subaru']

 2、确定列表长度/列表元素个数

  使用len函数快速获悉列表的长度

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars))    #输出为4

参考书籍:《Python编程:从入门到实践》

2020-07-06

原文地址:https://www.cnblogs.com/carl39/p/13242391.html