资讯专栏INFORMATION COLUMN

坚持不懈续集 (二) 初学者挑战学习Python编程30天

Amio / 1188人阅读

摘要:元组是有序且不可更改或不可修改不可变的集合。不允许重复成员。列表是有序且可修改可变的不同数据类型的集合。避免上述问题的一种方法是使用。计数橙色年龄,,,,,,,打印年龄。语法反转水果香蕉,橙色,芒果,柠檬水果。按字母顺序排序,年龄。

续集二来啦,希望对你们有帮助,有兴趣的可以去我主页去看第一期的学习内容。

第 5 天 - 列表

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" ]                      # 水果列表蔬菜 = [ "Tomato" , "Potato" , "Cabbage" , "Onion" , "Carrot" ]       # 蔬菜列表动物产品 = [ "牛奶""肉""黄油""酸奶"]              # 动物产品列表web_techs  = [ "HTML" , "CSS", "JS" , "React" , "Redux" , "Node" , "MongDB" ] # 网络技术国家 列表= [ "芬兰" , "爱沙尼亚" , "丹麦" , "瑞典" , "挪威" ]#打印列表和其长度打印(“水果:”,水果)打印(“水果的数量:”,len个(水果))印刷(“蔬菜:”,蔬菜),印刷(“蔬菜号码:”,len个(蔬菜))打印("动物产品:",animal_products)打印("动物产品的数量:"len个(animal_products))打印( "Web 技术:" , web_techs ) print ( "Web 技术数:" , len ( web_techs )) print ( "国家:" ,国家) print ( "国家数:" , len (国家))
输出水果:[ "香蕉""橙子""芒果""柠檬" ]水果数量:4蔬菜:[ "番茄""土豆""卷心菜""洋葱""胡萝卜" ]蔬菜数量:5动物产品:[ "牛奶""肉""黄油""酸奶" ]动物产品数量:4网络技术:[ " HTML "" CSS "" JS "" React "" Redux "" Node "" MongDB " ]网络技术数量:7国家:[ "芬兰""爱沙尼亚""丹麦""瑞典""挪威" ]国家数量:5
  • 列表可以包含不同数据类型的项目
 lst  = [ "Asabeneh" , 250 , True , { "country" : "Finland" , "city" : "Helsinki" }] # 包含不同数据类型的列表

使用正索引访问列表项

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

水果 = [ "香蕉""桔子""芒果""柠檬" ] first_fruit  = 水果[ 0 ] #,我们使用它的索引访问所述第一项打印(first_fruit)       #香蕉second_fruit  = 水果[ 1 ]印刷(second_fruit )      # 橙子last_fruit  = 水果[ 3 ]打印( last_fruit ) # 柠檬# 最后一个索引last_index  =  len ( fruits ) -  1 last_fruit  =  fruits [ last_index ]

使用负索引访问列表项

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

水果 = [ "香蕉""桔子""芒果""柠檬" ] first_fruit  = 水果[ - 4 ] last_fruit  = 水果[ - 1 ] second_last  = 水果[ - 2 ]打印(first_fruit)       #香蕉打印(last_fruit)        # 柠檬印花( 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打印( rest )            # ["item4", "item5"]
# 第一个例子fruits  = [ "banana" , "orange" , "mango" , "lemon" , "lime" , "apple" ] first_fruit , second_fruit , third_fruit , * rest  =  lst print ( first_fruit )      # 香蕉打印( second_fruit )     # 橙色印花( third_fruit )      # 芒果印花( rest )           # ["lemon","lime","apple"] # 解包列表的第二个例子first , second , third , * rest , tenth  = [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ]打印(第一)           #1打印(第二)          #2打印(第三)           #3打印(休息)            #[4,5,6,7,8,9]打印(第十)           #10 #第三个例子约拆包列表国家 = [ "德""法国""比利时""瑞典",“丹麦" , "芬兰" , "挪威" , "冰岛" , "爱沙尼亚" ] gr , fr , bg , sw , * scandic ,es  = 国家打印(gr )打印( fr )打印( bg )打印( sw )打印( scandic )打印( es )

从列表中切片项目

  • 正索引:我们可以通过指定开始、结束和步骤来指定一系列正索引,返回值将是一个新列表。(开始的默认值 = 0,结束 = len(lst) -
    1(最后一项),步骤 = 1)
水果 = [ “香蕉”,“桔子”,“芒果”,“柠檬” ] all_fruits  = 水果[ 04 ] #它返回所有水果#这也将给出相同的结果与上述一个all_fruits  = 水果[ 0]
  • 负索引:我们可以通过指定开始、结束和步骤来指定一系列负索引,返回值将是一个新列表。
水果 = [ "香蕉""桔子""芒果""柠檬" ] all_fruits  = 水果[ - 4] #它返回所有水果orange_and_mango  = 水果[ - 3- 1 ] #它不包括最后一个化指数,[ "桔子""芒果"] orange_mango_lemon  = 水果[ - 3] #这会给开始从-3到结束,[ "桔子""芒果""柠檬"] reverse_fruits  = 水果[::- 1 ] # 一个否定的步骤会以相反的顺序取列表,["lemon", "mango", "orange", "banana"]

修改列表

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

Fruits  = [ "banana" , "orange" , "mango" , "lemon" ]水果[ 0 ] =  "avocado" print ( fruits )        # ["avocado", "orange", "mango", "lemon"]水果[ 1 ] =  "apple" print ( fruits )        # ["avocado", "apple", "mango", "lemon"] last_index  =  len ( fruits ) -  1 个fruits [ last_index ] = "lime" print ( fruits )         # ["avocado", "apple", "mango", "lime"]

检查列表中的项目

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

水果 = [ "香蕉""桔子""芒果""柠檬" ] does_exist  =  "香蕉" 在 水果打印(does_exist)   #真does_exist  =  "石灰" 在 水果打印(does_exist)   #假

将项目添加到列表

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

# 语法lst  =  list () lst . 追加(项目)
水果 = [ "香蕉""橙色""芒果""柠檬" ]水果。append ( "apple" ) print ( fruits )            # ["banana", "orange", "mango", "lemon", "apple"]水果. append ( "lime" )    # ["banana", "orange", "mango", "lemon", "apple", "lime"]打印(水果)

将项目插入列表

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

# 语法lst  = [ "item1" , "item2" ] lst . 插入(索引,项目)
水果 = [ "香蕉""橙色""芒果""柠檬" ]水果。insert ( 2 , "apple" ) # 在橙子和芒果之间插入苹果print ( fruits )            # ["banana", "orange", "apple", "mango", "lemon"] fruits . insert ( 3 , "lime" )    # ["banana", "orange", "apple", "lime", "mango", "lemon"

从列表中删除项目

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

# 语法lst  = [ "item1" , "item2" ] lst . 删除(项目)
水果 = [ "香蕉""橙色""芒果""柠檬""香蕉" ]水果。remove ( "banana" ) print ( fruits )   # ["orange", "mango", "lemon", "banana"] - 此方法删除列表中第一次出现的项目fruits。remove ( "lemon" ) print ( fruits )   # ["orange", "mango", "banana"]

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

# 语法lst  = [ "item1" , "item2" ] lst . pop ()        # 最后一项lst . 弹出(索引)
水果 = [ "香蕉""橙色""芒果""柠檬" ]水果。pop ()打印(水果)        # ["banana", "orange", "mango"]水果。pop ( 0 ) print ( fruits )        # ["orange", "mango"]

标题使用 Del 删除项目

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

# 语法lst  = [ "item1" , "item2" ] del  lst [ index ] # 只有一个项目del  lst         # 彻底删除列表
水果 = [ "香蕉""桔子""芒果""柠檬""猕猴桃""石灰" ]德尔 水果[ 0 ]打印(水果)        #[ "桔子""芒果""柠檬""kiwi", "lime"] del  Fruits [ 1 ] print ( fruits )        # ["orange", "lemon", "kiwi", "lime"] del  Fruits [ 1 : 3 ]     # 这会删除给定索引之间的项目,因此它不会删除索引为 3 的项目!打印(水果)        #[“橙色”,“灰”]德尔 水果打印(水果)        #这应该给:NameError:名字“水果”没有定义

清除清单项目

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

# 语法lst  = [ "item1" , "item2" ] lst . 清除()
水果 = [ "香蕉""橙色""芒果""柠檬" ]水果。清除()打印(水果)        #[]

复制列表

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

# 语法lst  = [ "item1" , "item2" ] lst_copy  =  lst . 复制()
水果 = [ "香蕉""橙色""芒果""柠檬" ]水果副本 = 水果。copy () print ( fruit_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]水果 = ["banana" , "orange" , "mango" , "lemon" ]蔬菜 = [ "Tomato" , "Potato" , "Cabbage" , "Onion" , "Carrot" ] fruit_and_vegetables  = 水果 + 蔬菜打印( fruit_and_vegetables ) # [ “香蕉”、“橙子”、“芒果”、“柠檬”、“番茄”、“土豆”、“卷心菜”、“洋葱”、“胡萝卜”]
  • 使用extend() 方法连接extend()方法允许在列表中附加列表。请参阅下面的示例。
# 语法list1  = [ "item1" , "item2" ] list2  = [ "item3" , "item4" , "item5" ] list1 . 扩展(列表2
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 ]= [ 0 ]负数。扩展(零) 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" ]蔬菜 = [ "番茄" , "土豆" , "卷心菜" , "洋葱" , "胡萝卜". 扩展(蔬菜)打印("水果和蔬菜:",水果)#水果和蔬菜:["香蕉","橙色","芒果","柠檬","番茄","土豆","卷心菜","洋葱","胡萝卜"]

计算列表中的项目

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

# 语法lst  = [ "item1" , "item2" ] lst . 计数(项目)
水果 = [ "香蕉""桔子""芒果""柠檬" ]打印(水果。计数("橙色"))    #1年龄 = [ 2219242526242524 ]打印(年龄。计数(24))            #3
查找项目的索引

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

# 语法lst  = [ "item1" , "item2" ] lst . 索引(项目)
Fruits  = [ "banana" , "orange" , "mango" , "lemon" ] print ( fruits . index ( "orange" ))    # 1年龄 = [ 22 , 19 , 24 , 25 , 26 , 24 , 25 , 24 ]打印(年龄。指数(24))            #2,第一次出现

反转列表

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

# 语法lst  = [ "item1" , "item2" ] lst . 反转()
水果 = [ "香蕉""橙色""芒果""柠檬" ]水果。reverse () print ( fruits ) # ["lemon", "mango", "orange", "banana"] age  = [ 22 , 19 , 24 , 25 , 26 , 24 , 25 , 24 ]年龄. reverse ()打印(年龄)# [24, 25, 24, 26, 25, 24, 19, 22]

排序列表项

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

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

例子:

水果 = [ "香蕉""橙色""芒果""柠檬" ]水果。sort () print ( fruits )              # 按字母顺序排序,["banana", "lemon", "mango", "orange"] fruits . sort ( reverse = True ) print ( fruits ) # ["orange", "mango", "lemon", "banana"] ages  = [ 22 , 19 , 24 ,, 24 , 25 , 24 ]年龄。sort ()打印( age ) # [19, 22, 24, 24, 24, 25, 25, 26]年龄。sort ( reverse = True ) print ( ages ) # [26, 25, 25, 24, 24, 24, 22, 19]
  • sorted():在不修改原列表的情况下返回有序列表 示例:
Fruits  = [ "banana" , "orange" , "mango" , "lemon" ] print ( sorted ( fruits ))    # ["banana&#           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119987.html

相关文章

  • 最终篇:简洁易懂,学者挑战学习Python编程30 (五)

    摘要:和是最受欢迎的。虚拟环境将允许将项目依赖项与本地机器依赖项隔离开来。文件将是项目中的主文件。运行后,检查本地主机。在中创建一个名为的文件夹,并创建一个名为的文件夹。部署创建帐户为前端和全栈应用程序提供免费部署服务。 ...

    1fe1se 评论0 收藏0
  • 【最全资料汇总】如何12个月内成为数据科学家?

    摘要:是业务分析,大数据,数据挖掘,数据科学和机器学习的领先站点。播客在每一集中,主持人通过有趣的应用程序探索机器学习和数据科学。大家要关注的数据科学家和流行的网站和播客的创建者。 RoyalMail数据科学家Freddie Odukomaiya曾经用12个月的时间让自己成功的成为数据科学家,以下是他的经验分享和他所使用的学习资源。 以下内容译自https://blog.usejournal...

    sushi 评论0 收藏0
  • 我应该先学习哪种编程语言?

    摘要:我应该先学习哪种编程语言这一切都取决于你想要完成的事情作为技术作家,我的任务是使复杂的主题易于理解,因此在本文中您将找不到太多技术术语。我应该先学习哪种编程语言这是我自出版之前收到的最常见的问题。是一种后端语言。我应该先学习哪种编程语言? 这一切都取决于你想要完成的事情 作为技术作家,我的任务是使复杂的主题易于理解,因此在本文中您将找不到太多技术术语。我可以对面向对象的编...

    huashiou 评论0 收藏0
  • 我应该先学习哪种编程语言?

    摘要:我应该先学习哪种编程语言这一切都取决于你想要完成的事情作为技术作家,我的任务是使复杂的主题易于理解,因此在本文中您将找不到太多技术术语。我应该先学习哪种编程语言这是我自出版之前收到的最常见的问题。是一种后端语言。我应该先学习哪种编程语言? 这一切都取决于你想要完成的事情 作为技术作家,我的任务是使复杂的主题易于理解,因此在本文中您将找不到太多技术术语。我可以对面向对象的编...

    selfimpr 评论0 收藏0
  • 如何保持学习编程的动力

    摘要:上次翻过一篇我是如何在自学编程个月后找到工作的,是一个编程自学者的经验之谈。如果你想通过学习编程来改善你的生活,你不该总想着这些快速成功的案例。 有人问我, Reddit 是什么网站,我想了下说: 美国贴吧 。 但话说回来,关注了一阵子我发现,Reddit 上的讨论真要比贴吧不知道高到哪里去了,甚至比不少知乎回答要有价值。而且感觉下面的讨论氛围也更好些。 我在上面关注了 learnpr...

    lastSeries 评论0 收藏0

发表评论

0条评论

Amio

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<