Python基础:列表的使用你知道有哪几种方法吗?

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

列表

Python 中有四种集合数据类型:

  • 列表:是一个有序且可变(可修改)的集合。允许重复成员。
  • 元组:是有序且不可更改或不可修改(不可变)的集合。允许重复成员。
  • Set:是一个无序、无索引且不可修改的集合,但我们可以向集合中添加新项目。不允许重复成员。
  • 字典:是一个无序、可变(可修改)和索引的集合。没有重复的成员。

列表是有序且可修改(可变)的不同数据类型的集合。列表可以为空,也可以具有不同的数据类型项。

如何创建列表

在 Python 中,我们可以通过两种方式创建列表:

  • 使用列表内置函数
# 语法
lst  =  list ()
复制代码
empty_list  =  list () # 这是一个空列表,列表中没有项目
print ( len ( empty_list )) # 0
复制代码
  • 使用方括号,[]
# 语法
lst  = []
复制代码
empty_list  = [] # 这是一个空列表,列表中没有项目
print ( len ( empty_list )) # 0
复制代码

带有初始值的列表。我们使用len()来查找列表的长度。

fruits = ['banana', 'orange', 'mango', 'lemon']                      # 水果列表
vegetables = ['Tomato', 'Potato', 'Cabbage','Onion', 'Carrot']       # 蔬菜列表
animal_products = ['milk', 'meat', 'butter', 'yoghurt']             # 动物产品列表
web_techs = ['HTML', 'CSS', 'JS', 'React','Redux', 'Node', 'MongDB'] # 网络技术 
countries = ['Finland', 'Estonia', 'Denmark', 'Sweden', 'Norway']

#打印列表和其长度
print('Fruits:', fruits)
print('Number of fruits:', len(fruits))
print('Vegetables:', vegetables)
print('Number of vegetables:', len(vegetables))
print('Animal products:',animal_products)
print('Number of animal products:', len(animal_products))
print('Web technologies:', web_techs)
print('Number of web technologies:', len(web_techs))
print('Countries:', countries)
print('Number of countries:', len(countries))
复制代码
输出
Fruits: ['banana', 'orange', 'mango', 'lemon']
Number of fruits: 4
Vegetables: ['Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
Number of vegetables: 5
Animal products: ['milk', 'meat', 'butter', 'yoghurt']
Number of animal products: 4
Web technologies: ['HTML', 'CSS', 'JS', 'React', 'Redux', 'Node', 'MongDB']
Number of web technologies: 7
Countries: ['Finland', 'Estonia', 'Denmark', 'Sweden', 'Norway']
Number of countries: 5
复制代码
  • 列表可以包含不同数据类型的项目
 lst  = [ 'Asabeneh' , 250 , True , { 'country' : 'Finland' , 'city' : 'Helsinki' }] # 包含不同数据类型的列表
复制代码

使用正索引访问列表项

我们使用它们的索引访问列表中的每个项目,一个列表索引从 0 开始,下图清楚地显示了索引从哪里开始

在这里插入图片描述

fruits = ['banana', 'orange', 'mango', 'lemon']
first_fruit = fruits[0] # 我们使用它的索引访问所述第一项
print(first_fruit)      # 香蕉
second_fruit = fruits[1]
print(second_fruit)     # 橙子
last_fruit = fruits[3]
print(last_fruit) # 柠檬
# 最后一个索引
last_index = len(fruits) - 1
last_fruit = fruits[last_index]
复制代码

使用负索引访问列表项

负索引表示从末尾开始,-1 表示最后一项,-2 表示倒数第二项。

在这里插入图片描述

fruits = ['banana', 'orange', 'mango', 'lemon']
first_fruit = fruits[-4]
last_fruit = fruits[-1]
second_last = fruits[-2]
print(first_fruit)      #香蕉
print(last_fruit)       # 柠檬
print(second_last)      # 芒果
复制代码

拆箱清单项目

lst  = [ 'item' , 'item2' , 'item3' , 'item4' , 'item5' ]
 first_item , second_item , third_item , * rest  =  lst 
print ( first_item )      # item1 
print ( second_item )     # item2 
print ( third_item )      # item3
print( rest )            # ['item4', 'item5']
复制代码
# 第一个例子
fruits  = [ 'banana' , 'orange' , 'mango' , 'lemon' , 'lime' , 'apple' ]
 first_fruit , second_fruit , third_fruit , * rest  =  lst 
print ( first_fruit )      # 香蕉
print ( second_fruit )     # 橙色
print ( third_fruit )      # 芒果
print ( rest )           # ['lemon','lime','apple'] 
# 解包列表的第二个例子
first , second , third , * rest , tenth  = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ]
print(first)          # 1
print(second)         # 2
print(third)          # 3
print(rest)           # [4,5,6,7,8,9]
print(tenth)          # 10
#第三个例子约拆包列表
countries = ['Germany', 'France','Belgium','Sweden','Denmark','Finland','Norway','Iceland','Estonia']
gr, fr, bg, sw, *scandic, es = countries
print(gr)
print(fr)
print(bg)
print(sw)
print(scandic)
print(es)
复制代码

从列表中切片项目

  • 正索引:我们可以通过指定开始、结束和步骤来指定一系列正索引,返回值将是一个新列表。(开始的默认值 = 0,结束 = len(lst) - 1(最后一项),步骤 = 1)
fruits = ['banana', 'orange', 'mango', 'lemon']
all_fruits = fruits[0:4] # 它返回所有水果
# 这也将给出相同的结果与上述一个
all_fruits = fruits[0:] # 如果我们不设置在哪里停止它需要所有的休息
orange_and_mango = fruits[1:3] # 不包括第一个索引
orange_mango_lemon = fruits[1:]
orange_and_lemon = fruits[::2] # 这里我们使用了第三个参数,step。它将需要每 2cnd 项 - ['banana', 'mango']
复制代码
  • 负索引:我们可以通过指定开始、结束和步骤来指定一系列负索引,返回值将是一个新列表。
fruits = ['banana', 'orange', 'mango', 'lemon']
all_fruits = fruits[-4:] # 它返回所有水果
orange_and_mango = fruits[-3:-1] # 它不包括最后一个化指数,['orange', 'mango']
orange_mango_lemon = fruits[-3:] # 这会给开始从-3到结束,['orange', 'mango', 'lemon']
reverse_fruits = fruits[::-1] # 一个否定的步骤会以相反的顺序取列表,['lemon', 'mango', 'orange', 'banana']
复制代码

修改列表

列表是可变或可修改的有序项集合。让我们修改水果列表。

fruits = ['banana', 'orange', 'mango', 'lemon']
fruits[0] = 'avocado'
print(fruits)       #  ['avocado', 'orange', 'mango', 'lemon']
fruits[1] = 'apple'
print(fruits)       #  ['avocado', 'apple', 'mango', 'lemon']
last_index = len(fruits) - 1
fruits[last_index] = 'lime'
print(fruits)        #  ['avocado', 'apple', 'mango', 'lime']
复制代码

检查列表中的项目

使用in运算符检查项目是否是列表的成员。请参阅下面的示例。

fruits = ['banana', 'orange', 'mango', 'lemon']
does_exist = 'banana' in fruits
print(does_exist)  # 真
does_exist = 'lime' in fruits
print(does_exist)  # 假
复制代码

将项目添加到列表

要将项目添加到现有列表的末尾,我们使用方法append()。

# 语法
lst  =  list ()
 lst.append(item)
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.append('apple')
print(fruits)           # ['banana', 'orange', 'mango', 'lemon', 'apple']
fruits.append('lime')   # ['banana', 'orange', 'mango', 'lemon', 'apple', 'lime']
print(fruits)
复制代码

将项目插入列表

我们可以使用insert()方法在列表中的指定索引处插入单个项目。请注意,其他项目向右移动。该插件()方法有两个参数:指数和插入项目。

# 语法
lst  = [ 'item1' , 'item2' ]
 lst.insert(index, item)
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.insert(2, 'apple') # 在橙子和芒果之间插入苹果
print(fruits)           # ['banana', 'orange', 'apple', 'mango', 'lemon']
fruits.insert(3, 'lime')   # ['banana', 'orange', 'apple', 'lime', 'mango', 'lemon']
print(fruits)
复制代码

从列表中删除项目

remove 方法从列表中删除指定的项目

# 语法
lst  = [ 'item1' , 'item2' ]
 lst.remove(item)
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon', 'banana']
fruits.remove('banana')
print(fruits)  # ['orange', 'mango', 'lemon', 'banana'] - this method removes the first occurrence of the item in the list
fruits.remove('lemon')
print(fruits)  # ['orange', 'mango', 'banana']
复制代码

使用 Pop 删除项目 的弹出()方法删除指定索引,(或如果未指定索引中的最后一项):

# 语法
lst  = [ 'item1' , 'item2' ]
 lst . pop ()        # 最后一项
lst.pop(index)
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.pop()
print(fruits)       # ['banana', 'orange', 'mango']

fruits.pop(0)
print(fruits)       # ['orange', 'mango']
复制代码

标题使用 Del 删除项目

该删除关键字删除指定索引和它也可以被用于删除索引范围内的物品。它也可以完全删除列表

# 语法
lst  = [ 'item1' , 'item2' ]
 del  lst [ index ] # 只有一个项目
del  lst         # 彻底删除列表
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon', 'kiwi', 'lime']
del fruits[0]
print(fruits)       # ['orange', 'mango', 'lemon', 'kiwi', 'lime']
del fruits[1]
print(fruits)       # ['orange', 'lemon', 'kiwi', 'lime']
del fruits[1:3]     #  # 这会删除给定索引之间的项目,因此它不会删除索引为 3 的项目!
print(fruits)       # ['orange', 'lime']
del fruits
print(fruits)       # 这应该给:NameError:名字“水果”没有定义
复制代码

清除清单项目

在明确的()方法清空列表:

# 语法
lst  = [ 'item1' , 'item2' ]
 lst.clear()
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.clear()
print(fruits)       # []
复制代码

复制列表

可以通过以下方式将列表重新分配给新变量来复制列表:list2 = list1。现在,list2 是对list1 的引用,我们在list2 中所做的任何更改也将修改原来的list2,但是在很多情况下,我们不喜欢修改原始版本,而是喜欢拥有不同的副本。避免上述问题的一种方法是使用copy()。

# 语法
lst  = [ 'item1' , 'item2' ]
 lst_copy  =  lst . copy()
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits_copy = fruits.copy()
print(fruits_copy)       # ['banana', 'orange', 'mango', 'lemon']
复制代码

加盟名单

在 Python 中有多种方法可以连接或连接两个或多个列表。

  • 加号运算符 (+)
# 语法
list3  =  list1  +  list2
复制代码
positive_numbers = [1, 2, 3, 4, 5]
zero = [0]
negative_numbers = [-5,-4,-3,-2,-1]
integers = negative_numbers + zero + positive_numbers
print(integers) # [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
fruits = ['banana', 'orange', 'mango', 'lemon']
vegetables = ['Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
fruits_and_vegetables = fruits + vegetables
print(fruits_and_vegetables ) # ['banana', 'orange', 'mango', 'lemon', 'Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
复制代码
  • 使用extend() 方法连接extend()方法允许在列表中附加列表。请参阅下面的示例。
# 语法
list1  = [ 'item1' , 'item2' ]
 list2  = [ 'item3' , 'item4' , 'item5' ]
 list1.extend(list2)
复制代码
num1  = [ 0 , 1 , 2 , 3 ]
 num2 = [ 4 , 5 , 6 ]
 num1。extend ( num2 )
 print ( 'Numbers:' , num1 ) # Numbers: [0, 1, 2, 3, 4, 5, 6] 
negative_numbers  = [ - 5 , - 4 , - 3 , - 2 , - 1 ]
 positive_numbers  =[ 1 , 2 , 3 , 4 , 5 ]
zero = [ 0 ]

negative_numbers.extend(zero)
negative_numbers.extend(positive_numbers)
print('Integers:', negative_numbers) # Integers: [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
fruits = ['banana', 'orange', 'mango', 'lemon']
vegetables = ['Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
fruits.extend(vegetables)
print('Fruits and vegetables:', fruits ) # 水果蔬菜: ['banana', 'orange', 'mango', 'lemon', 'Tomato', 'Potato', 'Cabbage', 'Onion', 'Carrot']
复制代码

计算列表中的项目

的计数()方法返回的项目在列表中显示的次数:

# 语法
lst  = [ 'item1' , 'item2' ]
 lst.count(item)
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
print(fruits.count('orange'))   # 1
ages = [22, 19, 24, 25, 26, 24, 25, 24]
print(ages.count(24))           # 3
复制代码

查找项目的索引

的索引()方法返回在列表中的项目的索引:

# 语法
lst  = [ 'item1' , 'item2' ]
 lst.index(item)
复制代码
Fruits  = [ 'banana' , 'orange' , 'mango' , 'lemon' ]
 print ( fruits . index ( 'orange' ))    # 1
ages  = [ 22 , 19 , 24 , 25 , 26 , 24 , 25 , 24 ]
print(ages.index(24))             #2,第一次出现
复制代码

反转列表

在反向()方法将反转的列表的顺序。

# 语法
lst  = [ 'item1' , 'item2' ]
 lst.reverse()
复制代码
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.reverse()
print(fruits) # ['lemon', 'mango', 'orange', 'banana']
ages = [22, 19, 24, 25, 26, 24, 25, 24]
ages.reverse()
print(ages) # [24, 25, 24, 26, 25, 24, 19, 22]
复制代码

排序列表项

要对列表进行排序,我们可以使用sort()方法或sorted()内置函数,该排序()方法进行重新排序升序排列列表项,并修改原来的列表中,如果sort()方法的参数reverse 等于 true,它将按降序排列列表。

  • sort():此方法修改原始列表
# 语法
lst  = [ 'item1' , 'item2' ]
 lst . sort ()                 #升序
lst . sort ( reverse = True )     # 降序
复制代码

例子:

fruits = ['banana', 'orange', 'mango', 'lemon']
fruits.sort()
print(fruits)             # 按字母顺序排序, ['banana', 'lemon', 'mango', 'orange']
fruits.sort(reverse=True)
print(fruits) # ['orange', 'mango', 'lemon', 'banana']
ages = [22, 19, 24, 25, 26, 24, 25, 24]
ages.sort()
print(ages) #  [19, 22, 24, 24, 24, 25, 25, 26]

ages.sort(reverse=True)
print(ages) #  [26, 25, 25, 24, 24, 24, 22, 19]
复制代码
  • sorted():在不修改原列表的情况下返回有序列表 示例:
fruits = ['banana', 'orange', 'mango', 'lemon']
print(sorted(fruits))   # ['banana', 'lemon', 'mango', 'orange']
# Reverse order
fruits = ['banana', 'orange', 'mango', 'lemon']
fruits = sorted(fruits,reverse=True)
print(fruits)     # ['orange', 'mango', 'lemon', 'banana']
复制代码

如果对于你有学习上的帮助一定要收藏起来,更多有关Python学习经验,工具安装包,电子书籍分享,可私信我,关注我,持续更新。

猜你喜欢

转载自juejin.im/post/7017762892065800206