微信添加CDA为好友(ID:joinlearn),拉你入500人数据分析师交流群,点击阅读原文可查看CDA数据分析师交流群规范与福利,期待你来~
在开始前,先定义集合是什么。一个集合就像篮子,你可以放进和取出东西,可以是同一类的东西,也可以是不同类的。基本上,它是个让你收集东西的存储结构。
比如你有一个车的类型(car),创建了几种车,想把这些车放在一起又容易找到,就是运用集合非常好的场景。
集合存在于内存中。你不需要创建集合或者任何架板,这些都是现成的。只要有个变量就可以往里面放车子了。完了之后你就可以根据名字或者索引(在集合中的参数)把他们取出。
Python提供了许多自建类型归属于集合类,但是没有一个叫collection的类型,他们是lists,mappings,和sets。
列表:list是Python内置的一个数据类型。list是可变的允许添加同一类型或不同类型的元素,类似于其他语言中的指针。
要取回列表中的元素,只需引用该元素的索引序号。Python列表序号是从零开始的,如果我要最后一个元素,它是第3位,我需要用2来索引:
系统返回了4。取列表中的元素时,只要从它的位置减去1就得到正确的索引序号。
我们增加了一位列表长度,添加了一个数据类型—布尔类型。列表并没有表示任何不满。
remove()没有返回参数,列表会被更新,现在它包含三个元素:
有几种方法将元素从列表中取出。我们前面说过用索引访问元素,如果我访问索引2,将会得到元素3。
上面的代码为我们复制了元素,元素还在列表中,列表的长度不会受到影响。
然而我们用pop(), 在得到元素的同时将元素移除了列表:
没有返回值,但alpha已经被排序了,你可以打印出来看看:
字符串与列表有很多相似之处,但字符串是不可改动的,而列表可以随意修改。
字符串可以向列表一样索引。你可以像数列表中元素一样数出字符串中的字符。
和列表不一样的是你不能追加字符,也不能更改字符串中特定位置字符。
根据字符串,可以将它转化成列表。取上面用到的mystring变量,我们用split(),它会在空格断开:
每个单词都变成了列表中的元素,我们也清楚的看到类型变为列表。
如果字符串没有空格我们也可以转换,但结果如何呢,看看吧:
我们还是得到了一个列表,单只有一个元素。在这个例子中,这个转换没有多大用处。
mapping也是内置类型,只在字典中使用。字典是键/值对应的,不同于列表,我们不用序号索引,代之的是字典的键(key)。
类似列表创建字典用键/值成对而不是单一元素,给个例子:
每个键/值用冒号分开,前面是键后面是值。在第一个元素中,item1是键,45是值。同时注意我们用大括号来包住元素。
当从字典中取元素时,序号不可用了,那我们就该想到键。如果要item2,我们这样做:
前面提到字典是键/值成对出现,如果我们只要键可以这样做:
set是无序的集合,不能有重复的元素,也不能排序,sort()是不能使用的。
因为set只能包含唯一的元素,所以重复的6被移除了。从已有数据创建唯一元素集合,set()是个非常好的方法。
set有些独有的方法,如果你熟悉set的数学方法(difference,intersection和union),会很好用。
我们从difference开始,假设我有两个set:
用set1和set2做difference会得到7,7在set1而不在set2。
我们看过了list,string(虽然不属于集合),dictionary和set。我们学习了它们所有的特定运算和独有功能。我希望这个介绍可以让你对Python的集合多点认识。
翻译 | 向宽
来源 | 码农网
原文:http://www.codeceo.com/article/python-collection-usage.html
点击阅读原文可查看CDA数据分析师交流群规范与福利
