Python列表和Dictionary简介

image
  • 来源 | 愿码(ChainDesk.CN)内容编辑
  • 愿码Slogan | 连接每个程序员的故事
  • 网站 | http://chaindesk.cn
  • 愿码愿景 | 打造全学科IT系统免费课程,助力小白用户、初级工程师0成本免费系统学习、低成本进阶,帮助BAT一线资深工程师成长并利用自身优势创造睡后收入。
  • 官方公众号 | 愿码 | 愿码服务号 | 区块链部落
  • 免费加入愿码全思维工程师社群 | 任一公众号回复“愿码”两个字获取入群二维码

本文阅读时长:11min

列表


由于Python的存在,列表在编码时有许多不同的用途,并且可以在列表上执行许多不同的操作。在本文中,您将只学习列表的一些用法。

首先,重要的是要注意列表是通过为其分配名称并将列表中的项目放在方括号[]内来实现的。在Python shell中,键入三个列表,每行一个:

fruit = ['apple', 'banana', 'kiwi', 'dragonfruit']

years = [2012,  2013,  2014,  2015]

students_in_class = [30,  22,  28,  33]
img

您刚输入的列表中包含特定类型的数据。但是,列表的一个很好的特性是它们可以混合同一列表中的数据类型。例如,我制作了这个组合字符串和整数的列表:

computer_class = ['Cynthia', 78, 42, 'Raj', 98, 24, 35, 'Kadeem', 'Rachel']

现在我们已经制作了列表,我们可以通过多种方式获取列表的内容。实际上,一旦创建了一个列表,计算机就会记住列表的顺序,并且该命令会保持不变,直到它被有目的地更改为止。我们看到维护列表顺序的最简单方法是在我们已经制作的列表上运行测试。

Python列表的第一项总是被计算为0(0)。那么,对于我们的第一个测试,让我们看看要求0项是否能得到第一项。使用我们的水果列表,我们将在print语句中输入列表的名称,然后添加数字为0的方括号[]:

print(fruit[0])

你的输出将是apple,因为apple是我们之前创建的列表中的第一个水果。

img

因此,我们有证据表明Python中的计数确实从0开始。现在,我们可以尝试在水果列表中打印第四个项目。您会注意到我们在打印命令中输入了3。这是因为第一项从0开始。在Python shell中键入以下代码:

print(fruit[3])

你的结果是什么?你有没有想到龙果是答案?如果是这样,那么,您正在学习计算列表中的项目。如果没有,请记住列表中的第一项是0项。通过练习,您将更好地计算Python列表中的项目。

img

对于额外的练习,请使用我们之前制作的其他列表,并尝试通过更改以下代码行中的数字来打印列表中的不同项目:

print(list_name[item_number])

如果代码显示list_name,请写入要使用的列表的名称。如果代码显示item_number,请写下要打印的项目编号。请记住,列表从0开始计数。

更改列表 - 添加和删除信息


即使列表具有顺序,也可以更改列表。可以将项目添加到列表,从列表中删除或在列表中更改。同样,有很多方法可以与列表进行交互。我们在这里只讨论一些,但您可以随时阅读Python文档以获取更多信息。

例如,要将项添加到我们的水果列表中,我们可以使用名为list.append()的方法。要使用此方法,请键入列表的名称,点,方法名称附加,然后键入要包含在其中的项目的括号。如果该项是字符串,请记住使用单引号。键入以下代码以将橙色添加到我们所做的水果列表中:

  fruit.append('orange')

然后,打印水果列表以查看橙色已添加到列表中:

    print(fruit)
img

现在,让我们说我们不再希望龙果出现在我们的名单上。我们将使用一个名为list.remove()的方法。为此,我们将键入列表的名称,点,名为remove的方法名称以及我们要删除的项目的名称:

    fruit.remove('dragonfruit')

然后,我们将打印列表以查看Dragonfruit已被删除:

    print(fruit)
img

如果列表中有多个相同的项目,list.remove()将仅删除该项目的第一个实例。需要单独删除具有相同名称的其他项目。

循环和列表


列表for循环可以很好地协同工作。使用列表,我们可以做一些称为迭代的事情。单词迭代本身就意味着一遍又一遍地重复一个过程。我们知道for循环在有限和特定次数内重复。

在此示例中,我们的列表中有三种颜色。在Python终端中创建此列表:

colors = ['green', 'yellow', 'red']

使用我们的列表,我们可以决定对于列表中的每种颜色,我们要打印名为I see的语句并在列表中添加每种颜色。使用带有列表的for循环,我们可以输入一次print语句并获得三个语句作为回报。在Python shell中键入以下for循环:

 for color in colors:

       print('I see  ' + str(color)  +  '.')

键入打印行并按两次Enter键后,for循环将开始运行,您应该会在Python shell中看到以下语句:

img

可以想象,列表和for循环在一起使用时非常强大。我们只需要键入两行代码,而不必使用三行不同的代码键入行三次。我们使用str()方法确保我们打印的句子与列表项相结合。

我们的for循环很有用,因为如果列表中有20种颜色,那两行代码就可以工作。

Dictionary


Dictionary是组织数据的另一种方式。乍一看,Dictionary可能看起来就像一个列表。但是,Dictionary具有不同的作业,规则和语法。

Dictionary具有名称并使用花括号来存储信息。例如,如果我们想创建一个名为sports的Dictionary,我们就会将Dictionary条目放在花括号中。这是一个简单的例子:

numbers = {'one': 1, 'two': 2, 'three': 3}

Dictionary中的键/值对


Dictionary存储称为值的信息。例如,在项目Dictionary中,我们可能会有密钥告诉我们每个项目的名称和值,它们告诉我们库存中每个项目的数量。将这些项目存储在Dictionary中后,我们可以添加或删除新项目(键),添加新金额(值)或更改现有项目的金额。

这是一个可以保存游戏信息的Dictionary示例。让我们假设我们游戏中的英雄有一些生存所需的物品。这是我们英雄物品的Dictionary:

items = {'arrows' : 200, 'rocks' : 25, 'food' : 15, 'lives' : 2}

与列表不同,Dictionary使用键和值来查找信息。所以,这本Dictionary有箭头,岩石,食物和生命的钥匙。每个数字都告诉我们英雄的物品数量。Dictionary具有与列表不同的特征。因此,我们可以使用print函数在Dictionary中查找某些项:

print(items['arrows'])

此打印命令的结果将打印200,因为这是我们的英雄在其库存中的箭头数:

img

更改Dictionary- 添加和删除信息


Python为我们提供了不仅可以创建Dictionary,还可以添加和删除Dictionary中的内容的方法。

例如,假设在我们的游戏中,我们允许玩家在游戏后期发现火球。要将项添加到Dictionary中,我们将使用所谓的下标方法向Dictionary中添加新键和新值。这意味着我们将使用Dictionary和方括号的名称来编写我们希望添加的项的名称,最后,我们将值设置为我们要在Dictionary中放入的项数:

  items['fireball'] = 10

如果我们打印整个项目Dictionary,您将看到已添加火球:

  print(items)

  items = {'arrows' : 200, 'rocks' : 25, 'food' : 15, 'lives' : 2, 'fireball' : 10}
img

我们还可以使用dict.update()方法更改Dictionary中的项目数。此方法使用Dictionary名称和单词update。然后,在括号() ,我们用花括号{}键入,我们要更新,冒号项目的名称(:我们要在Dictionary中,和项目的新号码)。在Python shell中尝试这个:

  items.update({'rocks':10})

  print(items)
img

您会注意到,如果您已完成打印(项目),那么您现在将拥有10个岩石而不是25个。我们已成功更新了我们的商品数量。

要从Dictionary中删除某些内容,必须引用该项的键或名称并删除该项。通过这样做,该项目的值也将被删除。在Python中,这意味着使用del以及Dictionary名称和要删除的项目的名称。

使用项目列表作为示例,让我们删除生命,然后使用print语句测试并查看是否删除了生命键:

  del items['lives']

  print(items)

项目列表现在看起来如下:

img

使用Dictionary时,信息的存储和检索方式与列表不同,但我们仍然可以执行添加和删除信息以及更改信息的相同操作。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容