您的位置:首页 > 编程语言 > Python开发

Python(2):元祖、列表、字典、集合等

2017-02-24 14:36 585 查看
元组:

使用()包着,也可以不用,其实定义元组的是逗号,而不是小括号。

不能更改内容,可以使用[]来访问具体下标号的数据

有点像C++的数组,但是带const的。而且因为Python的特性,数组是异构的。

a = ("aaa") --这是字符串。

a = ("aaa",)--这是元组

也有点像枚举的感觉,或者可以当做枚举用吧。

但是元组这个概念还是不大明白。可能接触到了才能明白吧。

列表:

使用[],可以更改内容,可以通过[]来访问具体下标号的数据。

跟元组好像差不多。

字典:

使用{},这个语义上很像C++的map。

当然,key和value都是异构的。

字典不是序列,估计是散列表,顺序可能会变的。

字符串:

可以像列表一样使用,跟C++的差不多啦。

True和False

书上说True是0,Flase为非0.但是我用3.6版本的shell试一试,结果发现是相反的。可能有些地方可以设置,3.6版本默认设置不同。

另外发现整除也不是默认的。

所以用的时候可能要注意了。

使用-1来作为下标号,获取倒数第一个元素。

使用负数来获取属性,列表的顺序是颠倒的。

当然,以为0已经被用了,只能从-1开始了。
>>> a = (1,2,3,4,5,6,7,"aaa","n")
>>> a[-1]
'n'


Python是91年发行的。比C++晚了好多年,C++扩展了C。C是70年代的产品。

果然经过20年的发展,语言的创造思想都发生了很大的变化。

分片:先看看例子
>>> a = (1,2,3,4,5,6,7,"aaa","n")
>>> a[-1]
'n'
>>> b = a[2:3]
>>> b
(3,)


用冒号隔开,第一个数字是开始的下标号,第二个是结束的下标号,但是不包括这个数字。

这种操作思想跟C++的迭代器很像。不过明显人家这是语言级的支持,方便很多。

append()将内容加到序列尾

extend()将另外一个序列的元素逐个加到序列尾。
>>> a = [1,2,3,4,5,6,7,"aaa","n"]
>>> b = [23,334,45]
>>> a.append(b)
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7, 'aaa', 'n', [23, 334, 45], 23, 334, 45]


pop()弹出一个属性
>>> a.pop(1)
2
>>> a
[1, 3, 4, 5, 6, 7, 'aaa', 'n', [23, 334, 45], 23, 334, 45]


集合:有不可重复集合和可重复的集合
>>> a = [1,1,1,3,4,5,4,3,5]
>>> a
[1, 1, 1, 3, 4, 5, 4, 3, 5]
>>> b = set(a)
>>> b
{1, 3, 4, 5}
>>> type(b)
<class 'set'>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 入门教程 2017