Python 中一维序列常用的数据结构有列表(list)、元组(tuple)、集合(set)、字符串(str)等。这些序列都具有结构化的特点,可以按照位置进行访问和修改,同时还支持各种常用的序列操作。
1.列表(list)
列表是Python中最常见的一维序列类型,可以通过以下方式进行创建:
a = [] # 空列表
b = [1, 2, 3] # 整型列表
c = ['a', 'b', 'c'] # 字符串列表
d = [1, 'a', 2.0] # 混合列表
列表不仅可以存储单一类型的数据,还可以存储不同类型的元素。列表元素的索引从0开始,可以通过索引访问和修改元素,如:
b[0] = 4 # 把列表b的第一个元素修改为4
print(b) # 输出[4, 2, 3]
在列表中可以进行的操作包括添加元素、删除元素、切片操作等。示例如下:
a = [1, 2, 3]
a.append(4) # 在列表a的末尾添加元素4
print(a) # 输出[1, 2, 3, 4]
a.insert(0, 'a') # 在列表a的第0个位置插入元素'a'
print(a) # 输出['a', 1, 2, 3, 4]
del a[1] # 删除列表a的第1个元素
print(a) # 输出['a', 2, 3, 4]
b = a[1:3] # 切片操作,提取a的第1个到第3个元素(不包含第3个元素)
print(b) # 输出[2, 3]
2.元组(tuple)
元组和列表非常相似,也是一维序列类型,在创建时需要用小括号括起来,但是元组的元素不可以修改,如:
a = (1, 2, 3, 4) # 定义元组a
print(a[1]) # 输出第二个元素2
# a[1] = 5 # 会报错,元组的元素不允许修改
虽然元组的元素不可以修改,但是元组支持一些与之相关的操作,例如:
a = (1, 2, 3, 4)
b = a[:3] # 切片操作,提取a的前三个元素
print(b) # 输出(1, 2, 3)
c = a + b # 连接两个元组,得到一个新元组
print(c) # 输出(1, 2, 3, 4, 1, 2, 3)
3.集合(set)
集合是一种无序、去重的一维序列类型。可以通过以下方式进行创建:
a = set() # 创建一个空集合
b = {1, 2, 3} # 创建一个包含元素1, 2, 3的集合
c = set([1, 2, 3, 2]) # 通过列表创建一个集合,会自动去重
由于集合是无序的,所以不支持通过索引访问元素,但是支持各种集合操作,例如并集、交集、差集等,示例如下:
a = {1, 2, 3}
b = {3, 4, 5}
c = a | b # 取a和b的并集,得到集合{1, 2, 3, 4, 5}
print(c)
d = a & b # 取a和b的交集,得到集合{3}
print(d)
e = a - b # 取a和b的差集,得到集合{1, 2}
print(e)
4.字符串
字符串是一种不可变的一维序列类型,可以通过以下方式创建:
a = '' # 空字符串
b = 'hello' # 字符串hello
字符串的元素不可以修改,但是支持很多字符串操作,例如连接、查找、替换等,示例如下:
a = 'hello'
b = 'world'
c = a + ' ' + b # 连接两个字符串,得到'hello world'
print(c)
d = a.find('l') # 查找字符串a中第一个l的位置,返回2
print(d)
e = a.replace('l', 'p') # 把字符串a中的l替换成p,得到'heppo'
print(e)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 结构化一维序列 - Python技术站