微信扫码登录

其他登录方式

绑定手机号

注册

我同意用户协议

忘记密码

用户协议

绑定手机号

近期有不法分子打着爱盈利的旗号,制作“爱盈利”名称的App,并伪造爱盈利证件,骗取用户信任,以抖音点赞赚钱或其他方式赚钱为名义,过程中以升级会员获得高佣金为名让用户充值。
爱盈利公司郑重声明:我司没有研发或运营过任何名为“爱盈利”的APP,我司做任务赚钱类产品从没有让任何普通用户充值升级会员。我公司产品均在本网站可查询,请将网站拉至底部,点击“关于我们”可查看爱盈利相关产品与服务。
温馨提示:当遇到此类问题请拨打官方电话或添加官方微信,以免财产损失。爱盈利官网地址:www.aiyingli.com。
  • 推广与合作
X

优就业Python教程-Python集合使用详解

来源: 2422
爱盈利(aiyingli.com)移动互联网最具影响力的盈利指导网站。定位于服务移动互联网创业者,移动盈利指导。我们的目标是让盈利目标清晰可见!降低门槛,让缺乏经验、资金有限的个人和团队获得经验和机会,提高热情,激发产品。

我会在这篇文章介绍Python几种类型的集合。

在开始前,先定义集合是什么。一个**集合**就像篮子,你可以放进和取出东西,可以是同一类的东西,也可以是不同类的。基本上,它是个让你收集东西的存储结构。

比如你有一个车的类型(car),创建了几种车,想把这些车放在一起又容易找到,就是运用集合非常好的场景。

集合存在于内存中。你不需要创建集合或者任何架板,这些都是现成的。只要有个变量就可以往里面放车子了。完了之后你就可以根据名字或者索引(在集合中的参数)把他们取出。

Python提供了许多自建类型归属于集合类,但是没有一个叫collection的类型,他们是lists,mappings,和sets。

  1. lists
  2. strings
  3. dictionaries
  4. sets
  5. list

列表:list是Python内置的一个数据类型。list是可变的允许添加同一类型或不同类型的元素,类似于其他语言中的指针。

下面的例子是创建列表并添加元素:

alist = [“item1”, “item2”, 4]

注意这个列表成分混杂,包含了字符串和整数类型。

要取回列表中的元素,只需引用该元素的索引序号。Python列表序号是从零开始的,如果我要最后一个元素,它是第3位,我需要用2来索引:

alist[2]

> 4

系统返回了4。取列表中的元素时,只要从它的位置减去1就得到正确的索引序号。

检查列表长度用len命令:

len(alist)

> 3

向列表添加元素用append()函数:

alist.append(False)

len(alist)

> 4

我们增加了一位列表长度,添加了一个数据类型—布尔类型。列表并没有表示任何不满。

我们可以调用remove()移除列表元素:

alist.remove(“item2”)

remove()没有返回参数,列表会被更新,现在它包含三个元素:

[‘item1’, 4, False]

有几种方法将元素从列表中取出。我们前面说过用索引访问元素,如果我访问索引2,将会得到元素3。

thevalue = alist[2]

print(thevalue)

> False

上面的代码为我们复制了元素,元素还在列表中,列表的长度不会受到影响。

然而我们用pop(), 在得到元素的同时将元素移除了列表:

thevalue = alist.pop(1) print(thevalue)

> 4

print(“after pop”, alist)

> [‘item1’, False]

列表也可以被排序,我们有包含字符串的列表:

alpha = [“z”, “b”, “a”, “c”]

你可以用sort()命令来排序:

alpha.sort()

没有返回值,但alpha已经被排序了,你可以打印出来看看:

print(alpha)

元素可以被反序排列,只需引用reverse():

alpha.reverse

字符串是列表吗?

字符串与列表有很多相似之处,但字符串是不可改动的,而列表可以随意修改。

字符串可以向列表一样索引。你可以像数列表中元素一样数出字符串中的字符。

比如:

mystring = “The quick brown fox.”

print(len(mystring ))

> 20

print(mystring[4])

> q

和列表不一样的是你不能追加字符,也不能更改字符串中特定位置字符。

我们看一下给特定位置分配字符会出现什么情况:

mystring[4] = ‘z’

> TypeError: ‘str’ object does not support item assignment

根据字符串,可以将它转化成列表。取上面用到的mystring变量,我们用split(),它会在空格断开:

stringlist = mystring.split()

stringlist

> [‘The’, ‘quick’, ‘brown’, ‘fox.’]

type(stringlist)

>

每个单词都变成了列表中的元素,我们也清楚的看到类型变为列表。

如果字符串没有空格我们也可以转换,但结果如何呢,看看吧:

mystring2 = “Thequickbrownfox.”

stringlist2 = mystring2.split()

stringlist2

> [‘Thequickbrownfox.’]

type(stringlist2)

>

我们还是得到了一个列表,单只有一个元素。在这个例子中,这个转换没有多大用处。

mappings

mapping也是内置类型,只在字典中使用。字典是键/值对应的,不同于列表,我们不用序号索引,代之的是字典的键(key)。

类似列表创建字典用键/值成对而不是单一元素,给个例子:

mydictionary = {“item1”:45, “item2”:76, “item3”:145}

每个键/值用冒号分开,前面是键后面是值。在第一个元素中,item1是键,45是值。同时注意我们用大括号来包住元素。

当从字典中取元素时,序号不可用了,那我们就该想到键。如果要item2,我们这样做:

mydictionary[“item2]

> 76

和列表一样,可以查看字典的长度:

len(mydictionary)

> 3

改变item2的值,可以直接给他赋值:

mydictionary[“item2] = 100

增加元素也是直接赋值:

mydictionary[“item62”] = 433

item62现在就存在于字典了,字典长度加1。

根据键可以删除字典元素:

del mydictionary[“item2”]

前面提到字典是键/值成对出现,如果我们只要键可以这样做:

mydictionary.keys()

> dict_keys([‘item3’, ‘item1’, ‘item62’])

访问值也是同样的方法:

mydictionary.values()

> dict_values([145, 45, 433])

Sets

set是无序的集合,不能有重复的元素,也不能排序,sort()是不能使用的。

同列表相比set验证元素是否存在会更快。

创建一个set:

myset = {3, 4, 5, 1}

或者用set语句来转化已存在的类型:

multistory = [0,1,5,4,3,7,6,6]

my set = set(my list)

> {0,1,3,4,5,6,7}

因为set只能包含唯一的元素,所以重复的6被移除了。从已有数据创建唯一元素集合,set()是个非常好的方法。

如果我试图让移除的6回来,它是不会理会的:

myself.add(6)

> {0, 1, 3, 4, 5, 6, 7}

要移除set中元素需要用remove():

my set.remove(4)

set也不支持索引,用序号来访问,它会返回错误:

myset[2] >TypeError: ‘set’ object does not support indexing

set有些独有的方法,如果你熟悉set的数学方法(difference,intersection和union),会很好用。

我们从difference开始,假设我有两个set:

set1 = {1,3,6,7}

set2 = {1,3,6,8,10}

用set1和set2做difference会得到7,7在set1而不在set2。

set1.difference(set2)

> {7}

反过来用set2和set1做对比:

set2.difference(set1)

> {8, 10}

也可以来找它们的相同部分:

set.intersection(set2)

> {1, 3, 6}

最后来看把它们合并起来形成一个新的set:

set3 = {set1.union(set2)

> {1, 3, 6, 7, 8, 10}

新的set包含它们两个中所有元素。

总结

我们看过了list,string(虽然不属于集合),dictionary和set。我们学习了它们所有的特定运算和独有功能。我希望这个介绍可以让你对Python的集合多点认识。

via:IT优就业

End.

转载请注明来自36大数据(36dsj.com):36大数据 » 优就业Python教程-Python集合使用详解

爱盈利-运营小咖秀 始终坚持研究分享移动互联网App数据运营推广经验、策略、全案、渠道等纯干货知识内容;是广大App运营从业者的知识启蒙、成长指导、进阶学习的集聚平台;

评论

相关文章推荐

SELECT dw_posts.ID,dw_posts.post_title,dw_posts.post_content FROM dw_posts INNER JOIN dw_term_relationships ON (dw_posts.ID = dw_term_relationships.object_id) WHERE 1=1 AND(dw_term_relationships.term_taxonomy_id = 3413 ) AND dw_posts.post_type = 'post' AND (dw_posts.post_status = 'publish') GROUP BY dw_posts.ID ORDER BY RAND() LIMIT 0, 6

京ICP备15063977号-2 © 2012-2018 aiyingli.com. All Rights Reserved. 京公网安备 11010102003938号