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