这篇文章解释了 Python 中使用的数据结构。了解编程语言中的数据结构至关重要。在 Python 中,有许多可用的数据结构。它们如下:
- 1、字符串
- 2、列出
- 3、元组
- 4、词典
- 5、套
目录
Python 数据结构
1、字符串
Python 字符串是字符序列。
如何在 Python 中创建字符串
您可以使用单引号或双引号创建 Python 字符串。
mystring = '''Hello Python3.6'''
print(mystring)
输出:
Hello Python3.6
我可以使用多个单引号或双引号来定义字符串吗?
答案是肯定的。请参阅以下示例 -
多个单引号
mystring = """Hello Python3.6"""
print(mystring)
输出:
Hello Python3.6
多个双引号
mystring = """Hello Python3.6"""
print(mystring)
输出:
Hello Python3.6
如何在字符串中包含引号?
mystring = r'Hello"Python"'
print(mystring)
输出:
Hello"Python"
如何提取第N个字母或单词?
您可以使用以下语法获取首字母。
mystring = 'Hi How are you?'
mystring[0]
输出
'H'
mystring[0] 指的是第一个字母,因为 python 中的索引从 0 开始。同样,mystring[1] 指的是第二个字母。要拉出最后一个字母,您可以使用 -1 作为索引。
mystring[-1]
得到第一个词
mystring.split(' ')[0]
输出: 嗨
怎么运行的 -
- mystring.split(' ') 告诉 Python 使用空格作为分隔符。
输出: ['嗨','怎么样','是','你?']
- mystring.split(' ')[0] 告诉 Python 选择字符串的第一个单词。
2、列表
与 String 不同,List可以包含不同类型的对象,例如整数、浮点数、字符串等。
- x = [142, 124, 234, 345, 465]
- y = ['A', 'C', 'E', 'M']
- z = ['AA', 44, 5.1, 'KK']
获取列表项
我们可以使用索引提取列表项。索引从 0 开始,以(元素数 - 1)结束。 Syntax : list[start : stop : step]
- start : 指的是起始位置。
- 停止: 指结束位置。
- step : 指增量值。
k = [124, 225, 305, 246, 259]
k[0]
k[1]
k[-1]
k[0]
124
k[1]
225
k[-1]
259
解释 : k[0] 从列表中选择第一个元素。负号告诉 Python 从右到左搜索列表项。k[-1] 从列表中选择最后一个元素。
k[0] picks first element from list. Negative sign tells Python to search list item from right to left. k[-1] selects the last element from list.
要从列表中选择多个元素,可以使用以下方法:
k[:3] returns [124, 225, 305]
k[0:3] also returns [124, 225, 305]
k[::-1] reverses the whole list and returns [259, 246, 305, 225, 124]
排序列表
sorted(list)函数按升序排列列表。 sorted(list, reverse=True)函数按降序对列表进行排序。
sorted(k) returns [124, 225, 246, 259, 305]
sorted(k, reverse=True) returns [305, 259, 246, 225, 124]
向列表的每个元素添加 5
在下面的程序中,len() 函数用于计算列表中元素的数量。在本例中,它返回 5。在 range() 函数的帮助下,range(5) 返回 0,1,2,3,4。
x = [1, 2, 3, 4, 5]
for i in range(len(x)):
x[i] = x[i] + 5
print(x)
[6, 7, 8, 9, 10]
也可以这样写——
for i in range(len(x)):
x[i] += 5
print(x)
合并/加入两个列表
'+' 运算符连接两个列表。
X = [1, 2, 3]
Y = [4, 5, 6]
Z = X + Y
print(Z)
[1, 2, 3, 4, 5, 6]
两个列表值的总和
X = [1, 2, 3]
Y = [4, 5, 6]
import numpy as np
Z = np.add(X, Y)
print(Z)
print(Z)
[5 7 9]
同样,您可以使用 np.multiply(X, Y) 将两个列表的值相乘。
重复 List N 次
'*' 运算符重复列表 N 次。
X = [1, 2, 3]
Z = X * 3
print(Z)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
注意: 以上两种方法也适用于字符串列表。
修改/替换列表项
假设您需要将第三个值替换为不同的值。
X = [1, 2, 3]
X[2]=5
print(X)
print(X)
[1, 2, 5]
添加/删除列表项
我们可以使用append 方法添加列表项。
X = ['AA', 'BB', 'CC']
X.append('DD')
print(X)
结果: ['AA', 'BB', 'CC', 'DD'] 同样,我们可以使用remove 方法删除列表项。
X = ['AA', 'BB', 'CC']
X.remove('BB')
print(X)
结果: ['AA', 'CC']
3、元组
和列表一样,元组也可以包含混合数据。但是元组一旦创建就不能可变或更改,而列表可以可变或修改。
另一个区别是元组是在括号 () 内创建的。而列表是在方括号 [ ]内创建的
例子
mytuple = (123,223,323)
City = ('Delhi','Mumbai','Bangalore')
在 Tuple 上执行 for 循环
for i in City:
print(i)
Delhi
Mumbai
Bangalore
元组不能改变
运行以下命令并检查错误
X = (1, 2, 3)
X[2]=5
类型错误:
“元组”对象不支持项目分配
4、字典
它的工作原理类似于地址簿,您可以在其中通过搜索姓名找到一个人的地址。在这个例子中。一个人的名字被认为是key 和 address 被认为是value。请务必注意,键必须是唯一的,而值可能不是。键不应重复,因为如果重复,则无法找到与键关联的确切值。键可以是任何数据类型,例如字符串、数字或元组。
创建字典
它在花括号 {} 中定义。每个键后跟一个冒号 (:),然后是值。
teams = {'Dave' : ['teamA','teamAA', 'teamAB'],
'Tim' : ['teamB','teamBB','teamBC'],
'Babita' : ['teamC','teamCB','teamCC']
}
提取字典的键和值
teams.keys()返回 dict_keys(['Dave', 'Tim', 'Babita'])
teams.values()返回 dict_values([['teamA', 'teamAA', 'teamAB'], ['teamB', 'teamBB', 'teamBC'], [ 'teamC', 'teamCB', 'teamCC']])
teams.items()返回键和值。
查找特定键的值
teams['Dave']
输出
['teamA', 'teamAA', 'teamAB']
删除项目
在下面的代码中,我们从团队字典中删除“Babita”。
del teams['Babita']
输出
{'Dave': ['teamA', 'teamAA', 'teamAB'],
'Tim': ['teamB', 'teamBB', 'teamBC']}
添加项目
在这里,我们再添加一个名为“Deep”的键,对应的值是“team D”。
teams['Deep'] = 'team D'
输出
{'Dave': ['teamA', 'teamAA', 'teamAB'],
'Tim': ['teamB', 'teamBB', 'teamBC']}
添加一个项目
在这里,我们添加了一个名为“Deep”的键,其值为“team D”。
teams['Deep'] = 'team D'
输出
{'Dave': ['teamA', 'teamAA', 'teamAB'],
'Deep': 'team D',
'Tim': ['teamB', 'teamBB', 'teamBC']}
您也可以像下面显示的那样创建字典
d={}
d['a'] = 1
d['b'] = 2
print(d)
{'a': 1, 'b': 2}
如何从列表创建字典
假设您将键和值存储在两个单独的列表中。您可以使用并压缩它们来创建字典。
keys = ['a', 'b', 'c']
values = [1, 2, 3]
d1 = dict(zip(keys, values))
5、套
集合是简单对象的无序集合。它们主要用于检查对象是否存在于集合中以及计算交集、并集、差集等数学运算。
X = set(['A', 'B', 'C'])
问:“A”是否存在于集合 X 中?
'A' in X
结果: 真
问:“D”是否存在于集合 X 中?
'D' in X
结果: 错误
Q. 如何在集合 X 中添加'D'?
X.add('D')
问:如何从集合 X 中删除“C”?
X.remove('C')
Q. 如何创建副本 X?
Y = X.copy()
问:X 和 Y 套装中哪些物品是共同的?
Y & X
6、实例:Python 数据结构
下面的示例将帮助您了解现实世界中常用的数据结构操作类型。
1.如何找到两个列表的交集和并集
x = [1, 2, 3, 4]
y = [2, 3, 6, 5]
list(set(x) & set(y))
list(set(x) | set(y))
&符号指的是“和”条件,这意味着两个列表之间是共同的。|符号指的是“或”条件。
2.检查列表中是否存在项目
x = [1, 2, 3, 4]
3 in x
真的
3.检查list中是否存在多个item
只有当所有项目都存在时,all 才返回 True。任何项目存在时返回。
all(i in x for i in [1,6])
假
any(i in x for i in [1,6])
真的