Python3数据结构常用操作

本文深入讲解了Python中的四种主要数据结构:列表、字典、元组和字符串的使用方法,包括元素的添加、删除、修改及一些高级操作,是Python初学者和进阶者不可多得的参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、列表(list)

1.添加元素
1.1 append(new_element)

ls  = []
#朝列表尾部添加单个元素
ls.append(5)
#ls = [5]
#

1.2 extend(newList)

#添加单个列表,如 L = [1,2,3]
ls.extend(L)
print(ls)#ls=[1,2,3]

1.3 insert(index, new_element)
index表示新元素所要插入列表的位置

ls = [1,4,5,2]
ls.insert(2,3)
#ls = [1,4,3,5,2]
#在指定位置插入列表[0,1]
ls.insert(2,[0,1])
#ls = [1,4,[0,1],3,5,2]

1.4 切片(slice)
ls[i: j] 为列表ls的一个切片,包含位置 i 至位置 j-1的之间的所有元素
ls[i: j: k]为列表ls的一个切片,包含位置 i 至位置 j-1的间隔为 k 的所有元素

ls = [1,1,2,0,4,3]
ls[1:3] = [2,4,2]
#ls = [1,2,4,2,0,4,3]

1.5 列表运算

ls1 = [4,5,6]
ls2 = [1,2,3]
ls = ls1 + ls2
#ls = [4,5,6,1,2,3]
类似于ls1.extend(ls2)

2.删除元素
2.1 remove()

#remove删除列表中的指定元素
ls = ['a', 'b', 'b','c' , 'de']
ls.remove('b')#此时删除第一个检索到的元素‘b’
#ls = [a','b','c' , 'de']

2.2 del

ls  = [4,2,5,6]
del ls[2]#删除ls的索引为2的元素,即5
#ls = [4,2,6]

2.3 pop()

ls = [1,2,3]
ls.pop(2)#删除索引为2处的元素吗,并返回其值3
#ls  = [1,2]

2.4 clear()

ls = [1,2,3]
ls.clear()#清空列表(删除所有元素)

3.列表逆序

ls = [1,2,3,4]
#利用逆序切片
ls[::-1]
#利用reverse()
ls.reverse()

二、字典(dict)

dc = {‘key1’: value1, ‘key2’: value2, ‘key3’: value3}
由键值对组成的数据结构
以下实例中,dict = {‘Name’: ‘xiaoming’, ‘Age’: 7, ‘Class’: ‘First’}

2.1.添加元素

#添加键:address,值:‘China’
dict['address'] = 'China'
#dict = { 'Name': 'xiaoming','Age': 7, 'Class': 'First', ‘address’:‘China’}

2.2 修改元素

dict['Age'] = 8
#dict = { 'Name': 'xiaoming','Age': 8, 'Class': 'First', ‘address’:‘China’}

2.3.删除元素

#删除键‘Name’。
del dict['Name']  
#dict = { 'Age': 7, 'Class': 'First', ‘address’:‘China’}

dict.clear()      # 清空字典所有条目
dc.pop('Age', default)#删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

三、元组(tuple)

元组是圆括号(), 列表是方括号[]
tup1 = (‘physics’, ‘chemistry’, 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = “a”, “b”, “c”, “d”
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。

3.1 添加元素

# 以下修改元组元素操作是非法的。
# tup1[0] = 100
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3
#(12, 34.56, 'abc', 'xyz')

3.2 删除元素
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组。

tup = ('physics', 'chemistry', 1997, 2000)
print tup
del tup

3.3 截取
因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素

在这里插入代码片

L = (‘spam’, ‘Spam’, ‘SPAM!’)

L[2]‘SPAM!’
L[1:](‘Spam’, ‘SPAM!’)
L[-2]‘Spam’

四、字符串(str)

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。我们经常把str转化为list类型

4.1 访问元素

var1 = 'Hello World!'
var2 = "Python Runoob"
 
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
var1[0]:  H
var2[1:5]:  ytho

4.2 字符串拼接

s = 'Hello World!'
 
print("输出 :- ", s[:6] + 'Runoob!')
##输出 :-  Hello Runoob!

4.3 内建函数(str)

string.endswith(obj, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
string.find(str, beg=0, end=len(string))检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
string.replace(str1, str2, num=string.count(str1))把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
string.count(str, beg=0, end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值