1.5Python数据结构之序列(Sequence)、集合(Set)、映射(Mapping)

序列是一种可迭代的、有序的、可以包含重复元素的数据结构。

不可变(Immutable)序列

不可变序列(Immutable Sequence):字符串(class str)、元组(class tuple)、字节串(class bytes)、范围(class range)。

字符串(str)

>>> a = "Hello"
>>> a[0]
'H'
>>> a[1]
'e'
>>> a[4]
'o'
>>> a[-1]
'o'
>>> a[-2]
'l'

元组(tuple)

创建元组可以使用tuple([iterable])或者圆括号用逗号“ , ”将元素分隔。

#圆括号创建法
>>> a = ('hello', 'world' ,1,2,3)
>>> a[1]
'world'
#tuple()创建法
a = tuple(['hello', 'world', 1,2,3])
#空元组
a = ()

范围(range)

创建范围可以使用range()函数。范围包括start位置元素,不包括end位置元素。

#如果省略 step 参数,其默认值为 1。 如果省略 start 参数,其默认值为 0
range(start, stop[, step])
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]

可变(Mutable)序列

可变序列(Mutable Sequence):列表(class list)、字节数组(class bytearray)。

列表(list)

创建列表可以使用list([iterable])或者方括号用逗号“ , ”将元素分隔。

#方括号创建法
>>> a = ['hello', 'world', 1,2,3]
>>> a[1]
'world'
#list()创建法
a = list(('hello', 'world', 1,2,3]))
#空列表
a = []

集合

集合是一种可迭代的、无序的、不可以包含重复元素的数据结构。

集合:可变集合(set)和不可变集合(frozenset)。

可变集合(set)

创建可变集合可以使用set([iterable])或者花括号用逗号“ , ”将元素分隔。

#花括号创建法
a = {'张三', '王二', '李五'}
#set()创建法
a = set(('张三', '王二', '李五'))

不可变集合(frozenset)

创建不可变集合可以使用frozenset([iterable]),不能使用花括号 {} 。

a = frozenset({'张三', '王二', '李五'})

映射(Mapping)

映射(Mapping):只有字典(dict)。

字典(dict)

字典是一种可迭代、提供键(key)值(value)的可变数据结构。键(key)不可以重复,值(value)可以重复。

创建字典可以使用dict([iterable])或者花括号用逗号“ , ”将 “键:值” 对分隔。

#花括号创建法
>>> a = {102: '张三', 105: '王二', 108: '李五'}
>>> a.get(102)
'张三'
#dict()创建法
a = dict({102: '张三', 105: '王二', 108: '李五'})
#空字典
a = {}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/python/pythonlang/2699.html

(3)
上一篇 2020年12月4日 20:17
下一篇 2020年12月5日 23:15

相关推荐

  • 1.8Python语言的语句(Statement)

    del 语句 del 语句按索引,而不是值从列表中移除元素。与返回值的 pop() 方法不同, del 语句也可以从列表中移除切片,或清空整个列表(之前是将空列表赋值给切片)。 例如: del 也可以用来删除整个变量: 此后,再引用 a 就会报错(直到为它赋与另一个值)。

    Python语言教程 2020年12月8日
    05370
  • 1.9Python语言的条件(Conditional)、循环(Loop)、跳转(Jump)语句

    if条件 if-else条件 if-elif-else条件 三元运算符 match条件 match 语句接受一个表达式并将它的值与以一个或多个 case 语句块形式给出的一系列模式进行比较。类似于其它语言的switch语句。 请注意最后一个代码块: “变量名” _ 被作为&n…

    Python语言教程 2020年12月9日
    01.6K0
  • 1.3Python语言的分隔符(Delimiter)和运算符(Operator)

    分隔符(Delimiter) 句点也可出现于浮点数和虚数字面值中。连续三个句点有表示一个省略符的特殊含义。以上列表的后半部分为增强赋值操作符,在词法中作为分隔符,但也起到运算作用。 以下可打印 ASCII 字符作为其他形符的组成部分时具有特殊含义,或是对词法分析器有重要意义: 以下可打印 ASCII 字符不在 Pyth…

    Python语言教程 2020年12月3日
    02.6K0

发表回复

登录后才能评论