Python 结构化一维序列

  • Post category:Python

Python提供了多种用于结构化一维序列的方法,包括列表、元组、集合和数组等。本篇攻略将会详细讲解这些方法的使用。

列表

Python中最常用的一维序列结构是列表(List),它是一个有序序列,每个元素可以是任意数据类型。以下是使用列表的一些基本操作:

创建列表

可以使用中括号来创建一个列表,例如:

list1 = [1, 2, 3, 4, 5]
list2 = ['apple', 'banana', 'cherry']
list3 = [1, 'apple', True, 3.14]

访问元素

可以使用索引来访问列表中的元素,列表的索引从0开始。例如:

print(list1[0])   # 输出 1
print(list2[1])   # 输出 'banana'

修改元素

可以使用索引来修改列表中的元素,例如:

list1[0] = 0
print(list1)   # 输出 [0, 2, 3, 4, 5]

添加元素

可以使用 append() 方法向列表末尾添加新元素,例如:

list1.append(6)
print(list1)   # 输出 [0, 2, 3, 4, 5, 6]

删除元素

可以使用 del 语句或 remove() 方法删除列表中的元素,例如:

del list1[0]
print(list1)   # 输出 [2, 3, 4, 5, 6]

list2.remove('banana')
print(list2)   # 输出 ['apple', 'cherry']

元组

元组(Tuple)是一种有序序列,与列表类似,但元素值不能修改,也没有 append()remove() 等方法。以下是使用元组的一些基本操作:

创建元组

可以使用小括号或者不加括号来创建一个元组,例如:

tuple1 = (1, 2, 3, 4, 5)
tuple2 = 'apple', 'banana', 'cherry'
tuple3 = 1, 'apple', True, 3.14

访问元素

可以使用索引来访问元组中的元素,元组的索引从0开始。例如:

print(tuple1[0])   # 输出 1
print(tuple2[1])   # 输出 'banana'

删除元组

可以使用 del 语句来删除整个元组,例如:

del tuple1

集合

集合(Set)是一种无序、不重复的序列。以下是使用集合的一些基本操作:

创建集合

可以使用花括号或者 set() 函数来创建一个集合,例如:

set1 = {1, 2, 3, 4, 5}
set2 = set(['apple', 'banana', 'cherry'])
set3 = {1, 'apple', True, 3.14}

访问元素

由于集合是无序的,无法使用索引来访问其中的元素。但可以使用 for 循环遍历集合中的所有元素,例如:

for x in set1:
    print(x)

添加元素

可以使用 add() 方法向集合中添加新元素,例如:

set1.add(6)
print(set1)   # 输出 {1, 2, 3, 4, 5, 6}

删除元素

可以使用 remove() 方法删除集合中的元素,例如:

set2.remove('banana')
print(set2)   # 输出 {'apple', 'cherry'}

数组

数组(Array)是一种仅存储同一类型元素的序列,其长度不能修改。与列表不同,数组的各个元素占用的内存是连续的。以下是使用数组的一些基本操作:

创建数组

可以使用 array() 函数来创建一个数组,需要指定元素类型和元素列表,例如:

import array

array1 = array.array('i', [1, 2, 3, 4, 5])

其中 'i' 表示整型,可以使用以下代码来查看所有可用的元素类型:

print(array.typecodes)

访问元素

可以使用索引来访问数组中的元素,数组的索引从0开始。例如:

print(array1[0])   # 输出 1

修改元素

可以使用索引来修改数组中的元素,例如:

array1[0] = 0
print(array1)   # 输出 array('i', [0, 2, 3, 4, 5])

删除元素

无法使用 del 语句或 remove() 方法删除数组中的元素,但可以改变元素值来达到删除的效果。例如:

array1[0] = 2
array1.remove(2)
print(array1)   # 输出 array('i', [3, 4, 5])

以上是使用Python结构化一维序列的方法的详细讲解。下面提供两个示例代码:

示例1:使用列表统计文本中单词出现的次数

text = "the quick brown fox jumps over the lazy dog"
word_list = text.split()
word_count = {}
for word in word_list:
    if word in word_count:
        word_count[word] += 1
    else:
        word_count[word] = 1
print(word_count)

输出结果为:

{'the': 2, 'quick': 1, 'brown': 1, 'fox': 1, 'jumps': 1, 'over': 1, 'lazy': 1, 'dog': 1}

示例2:使用数组求解数组中所有元素的平均值

import array

array1 = array.array('i', [1, 2, 3, 4, 5])
sum = 0
for item in array1:
    sum += item
average = sum/len(array1)
print(average)

输出结果为:

3.0