第二章:25+ Python 数据操作教程(第一节Python中的数据结构)

152 阅读5分钟

这篇文章解释了 Python 中使用的数据结构。了解编程语言中的数据结构至关重要。在 Python 中,有许多可用的数据结构。它们如下:

  1. 1、字符串
  2. 2、列出
  3. 3、元组
  4. 4、词典
  5. 5、套

目录

1、字符串

2、列表

3、元组

4、字典

5、套

6、实例:Python 数据结构


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]

输出:

怎么运行的 -

  1. mystring.split(' ') 告诉 Python 使用空格作为分隔符。

输出: ['嗨','怎么样','是','你?']

  1. mystring.split(' ')[0] 告诉 Python 选择字符串的第一个单词。

2、列表

与 String 不同,List可以包含不同类型的对象,例如整数、浮点数、字符串等。

  1. x = [142, 124, 234, 345, 465]
  2. y = ['A', 'C', 'E', 'M']
  3. z = ['AA', 44, 5.1, 'KK']

获取列表项

我们可以使用索引提取列表项。索引从 0 开始,以(元素数 - 1)结束。 Syntax : list[start : stop : step]

  1. start : 指的是起始位置。
  2. 停止: 指结束位置。
  3. 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])


真的