注解

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字——它的位置,也称为索引:第一个索引是0,第二个索引是1,依此类推。

Python有多种内置的序列类型,但最常见的是列表、元组、字典和集合。

序列都可以进行的操作包括索引,切片,加,乘,检查成员等。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素等方法。

元组

注解

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

Mixly中有很多用于元组操作的模块,如下:

../_images/tuples1.png

1.元组初始化

../_images/tuple_initial1.png ../_images/tuple_initial21.png

1.1 描述

Mixly中有两种初始化元组的方式:

  • 第一种,你需要输入元组名称,将代表各种数据的模块连接到初始化模块上,你也可以点击蓝色齿轮增加元素数量。
  • 第二种,你也需要输入元组名称,然后直接在小括号中输入各种数据,各个元素使用英文逗号分隔即可。

在使用元组初始化模块后,你可以在”变量”模块分类中根据你输入的元组名称找到代表此元组的模块。

注意

  • 元组的各个元素类型不要求相同,可以是数字、布尔值和字符串,也可以是另一个元组。
  • 元组中的字符串元素都是由引号包围的,若其他数据类型使用引号包围也将会被视为字符串类型。

1.2 示例

../_images/tuple_initial_example1.png

源代码:

1
2
3
4
mytup= ("Mixly", 1.0, True, [1,2,3,4,5], (1,2,3,4,5))
print(mytup)
mytup2 = ("Mixly", 1.0, True, [1,2,3,4,5], (1,2,3,4,5))
print(mytup2)

输出结果:

('Mixly', 1.0, True, [1, 2, 3, 4, 5], (1, 2, 3, 4, 5))
('Mixly', 1.0, True, [1, 2, 3, 4, 5], (1, 2, 3, 4, 5))

2.元组元素获取

2.1 根据索引获取元素

../_images/tuple_get_element_by_index1.png

2.1.1 描述

此模块可以在元组中根据索引返回对应的元素。

注意

  • 字符串其实也是一种序列,所以元组获取元素和字符串截取字符也是同理的。
  • 点击查看 附录1:序列索引方向
  • 在元组中获取单个元素,索引的范围为元组元素数量的相反数到元组元素数量减1,如五个元素的元组索引范围为[-5, 4],超出此范围的索引会报错。

2.1.2 示例

../_images/tuple_get_element_by_index_example1.png

源代码:

输出结果:

Mixly
MixGo

2.2 根据索引范围获取多个元素

../_images/tuple_get_elements_by_index1.png

2.2.1 描述

此模块可以在元组中根据索引返回对应的多个元素组成的子元组。

注意

  • 所截取出的子元组中,包含前一个索引对应的元素,但不包含后一个索引对应的元素。
  • 点击查看 附录1:序列索引方向
  • 在元组中获取多个元素,索引的范围为元组元素数量的相反数到元组元素数量(因为不包含后一索引对应的元素,所以不用减1),如五个元素的元组索引范围为[-5, 5],超出此范围的索引会报错。

2.2.2 示例

../_images/tuple_get_elements_by_index_example1.png

源代码:

1
2
3
mytup = ("Mixly", "Mixpy", "MixGo", "Mixly Group")
print(mytup[0 : 2])
print(mytup[2 : 4])

输出结果:

('Mixly', 'Mixpy')
('MixGo', 'Mixly Group')

2.3 随机获取元素

../_images/tuple_get_random_element1.png

2.3.1 描述

此模块将返回给定元组中随机的一个元素。

2.3.2 示例

../_images/tuple_get_random_element_example1.png

源代码:

1
2
3
4
5
import random
mytup = ("Mixly", "Mixpy", "MixGo", "Mixly Group")
print(random.choice(mytup))
print(random.choice(mytup))
print(random.choice(mytup))

输出结果(每次输出结果是随机的):

Mixly Group
MixGo
Mixpy

3.获取元组信息

../_images/tuple_get_info1.png

3.1 描述

此模块可以返回一个元组的长度(元素数量)。 还可以返回数字元组的总和、最大值、最小值。

注意

  • 此模块返回的长度为int类型的数据格式。
  • 此模块只能返回数字元组的总和、最大值、最小值,若元组中包含其他数据类型的元素,则会报错。

3.2 示例

../_images/tuple_get_info_example1.png

源代码:

1
2
3
4
5
6
7
num_tup = (1,3,5,7,9)
str_tup = ("Mixly", "Mixpy", "MixGo", "Mixly Group")
print(len(num_tup))
print(len(str_tup))
print(max(num_tup))
print(min(num_tup))
print(sum(num_tup))

输出结果:

5
4
9
1
25

4.删除元组

../_images/tuple_delete1.png

4.1 描述

此模块可以删除指定的元组。

注意

  • 此模块没有返回值。
  • 删除元组后,无法再使用已被删除的元组名称调用元组,否则会报错。

4.2 示例

../_images/tuple_delete_example1.png

源代码:

1
2
3
mytup = ("Mixly", "Mixpy", "MixGo", "Mixly Group")
print(mytup)
del mytup

输出结果:

('Mixly', 'Mixpy', 'MixGo', 'Mixly Group')

5.元组连接

../_images/tuple_link1.png

5.1 描述

虽然我们无法对元组进行修改,但是我们可以连接元组。

此模块可以连接两个指定的元组。

注意

此模块不会对原元组进行修改。

5.2 示例

../_images/tuple_link_example1.png

源代码:

1
2
3
4
5
num_tup = (1,3,5,7,9)
str_tup = ("Mixly", "Mixpy", "MixGo", "Mixly Group")
print(num_tup + str_tup + num_tup)
print(num_tup)
print(str_tup)

输出结果:

(1, 3, 5, 7, 9, 'Mixly', 'Mixpy', 'MixGo', 'Mixly Group', 1, 3, 5, 7, 9)
(1, 3, 5, 7, 9)
('Mixly', 'Mixpy', 'MixGo', 'Mixly Group')

6.元组转换

../_images/tuple_to_list_set1.png

6.1 描述

此模块可以将给定元组转换为列表或集合并返回。

6.2 示例

../_images/tuple_to_list_set_example1.png

源代码:

1
2
3
4
str_tup = ("Mixly", "Mixpy", "MixGo", "Mixly Group")
print(list(str_tup))
print(set(str_tup))
print(str_tup)

输出结果:

['Mixly', 'Mixpy', 'MixGo', 'Mixly Group']
{'Mixpy', 'MixGo', 'Mixly Group', 'Mixly'}      # 因为集合是无序序列,所以每一次输出是随机的
('Mixly', 'Mixpy', 'MixGo', 'Mixly Group')

附录1:序列索引方向

注意

  • 有正反两种索引方式。
  • 正向索引中,各个元素的索引从0开始,也就是说第一个元素的索引为0,第九个元素的索引为8,以此类推。
  • 反向索引中,各个元素的索引从列表元素数量的相反数开始,也就是说,对于一个元素数量为5的列表,第一个(倒数第五个)元素的索引为-5,倒数第一个(最后一个)元素的索引为-1,倒数第二个元素的索引为-2,以此类推。