(四)Python的简单结构

简介: 1.使用列表 在python内建了一个成为列表的结构。字符串是特殊列表(但不是真正的列表,不能用列表的函数方法),我们可以简单的将它看成一系列的长度为1的子字符组成的特殊列表。

1.使用列表

   在python内建了一个成为列表的结构。字符串是特殊列表(但不是真正的列表,不能用列表的函数方法),我们可以简单的将它看成一系列的长度为1的子字符组成的特殊列表。

1list=[100,23,45]
print(list[0])
print(list[1])
print(list[2])
print(len(list))

字符串是特殊列表,对于字符串len函数给出了字符串的长度是因为它给出了字符串这种特殊列表所包含的长度为1的子字符串元素的长度。

运行结果如下:

image.png

2.列表尾部的添加

1. hello = ['hi', 'hello']
2. world = ['earth', 'field', 'universe']
3. hello.append('你好')
4. print(hello)
5. hello.extend(world)
6. print(hello)

 往hello这个变量指向的列表中增加一个'你好'的字符串元素。


append:用于添加单一元素的函数。注意这里的函数调用不会返回添加新元素后的列表,这里的添加操作会直接体现在原来的hello变量指向的列表后。


extend:将word指向的列表添加在hello指向的列表的后面。


3.插入数据与元素定位

insert插入到列表的最前面。

1. hello = ['hi', 'hello']
2. hello.insert(0,'你好')
3. print(hello)
4. print(hello.index('hi'))

结果如右图所示:

image.png

4.列表弹出与删除

1. hello = ['你好', 'hi', 'hello']
2. hello.remove('你好')
3. print(hello)
4. hello.pop(0)
5. print(hello)

输出结果如右图:

image.png

remove和pop都能移除指定索引处的元素

pop移除该值并返回该值,pop默认移除最后一个元素。

5.字符串的切割与列表合成

manager = '托塔天王,太白金星,卷帘大将'
manager_list=manager.split(',')
print(manager_list)
new_manager=' '.join(manager_list)
print(new_manager)

结果如右图:

image.png

  指定了一个空格的字符串,并用它的join方法,将manager_list用这个字符串(这里就是空格)的元素们连接在一起。


6.列表的高效使用

print('a b c'.split()) 将字符串'a b c'按空格进行切割后并输出结果。


list=['a','b','c','d']进行print(list.pop(3)) 将得到输出结果['a','b','c']

7.列表求和

1. gardens = [7204, 3640, 1200, 1240, 71800, 3200, 604]
2. total = 0
3. for num in gardens:
4.     total += num
5. print(total)
6. print(sum(gardens))

8.range的使用

range可以快速生成等差数组列表。


range(1,10)得到一个从1开始,到9结束的列表[1,2,3,4,5,6,7,8,9]


range(1,10,2)得到[1,3,5,7,9]每隔一个元素。


range(10,1,-2)得到[10,8,6,4,2]。用于开始数字大于结束数字。

for num in range(100):

9.while循环

1. first = 0
2. second = 1
3. # 请在下一行写代码
4. while first<100:
5. print(first)
6.     first, second = second, first + second
7. print('一切都完成啦')

结果为斐波那契数列  1 2 3 5 8 13 21 34 55 89  


10.简单斐波那契

A = int(input())
b = [0,1]
if A < 2:
    print(b[A])
# 建立列表b,用for循环得到(1,A)的斐波那契数列存入b中
else:
    for a in range(1,A):
        b.append(b[a] + b[a-1])
    print(b[A])
相关文章
|
4月前
|
机器学习/深度学习 数据采集 算法
时间序列结构变化分析:Python实现时间序列变化点检测
在时间序列分析和预测中,准确检测结构变化至关重要。新出现的分布模式往往会导致历史数据失去代表性,进而影响基于这些数据训练的模型的有效性。
357 1
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
85 8
|
2月前
|
算法 定位技术 Python
震惊!Python 图结构竟然可以这样玩?DFS&BFS 遍历技巧大公开
在 Python 编程中,图是一种重要的数据结构,而深度优先搜索(DFS)和广度优先搜索(BFS)是遍历图的两种关键算法。本文将通过定义图的数据结构、实现 DFS 和 BFS 算法,并通过具体示例展示其应用,帮助读者深入理解这两种算法。DFS 适用于寻找路径和检查图连通性,而 BFS 适用于寻找最短路径。掌握这些技巧,可以更高效地解决与图相关的复杂问题。
34 2
|
2月前
|
Python
SciPy 教程 之 SciPy 图结构 7
《SciPy 教程 之 SciPy 图结构 7》介绍了 SciPy 中处理图结构的方法。图是由节点和边组成的集合,用于表示对象及其之间的关系。scipy.sparse.csgraph 模块提供了多种图处理功能,如 `breadth_first_order()` 方法可按广度优先顺序遍历图。示例代码展示了如何使用该方法从给定的邻接矩阵中获取广度优先遍历的顺序。
36 2
|
2月前
|
算法 Python
SciPy 教程 之 SciPy 图结构 5
SciPy 图结构教程,介绍图的基本概念和SciPy中处理图结构的模块scipy.sparse.csgraph。重点讲解贝尔曼-福特算法,用于求解任意两点间最短路径,支持有向图和负权边。通过示例演示如何使用bellman_ford()方法计算最短路径。
37 3
|
2月前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
55 3
|
2月前
|
算法 索引 Python
SciPy 教程 之 SciPy 图结构 3
SciPy 图结构教程:介绍图的基本概念、节点和边的定义,以及如何使用 SciPy 的 `scipy.sparse.csgraph` 模块处理图结构。重点讲解 Dijkstra 最短路径算法及其在 SciPy 中的应用,包括 `dijkstra()` 方法的参数设置和使用示例。
21 0
|
2月前
|
Python
SciPy 教程 之 SciPy 图结构 2
《SciPy 教程 之 SciPy 图结构 2》介绍了图结构作为算法学中的重要框架,通过 `scipy.sparse.csgraph` 模块处理图结构。文章示例展示了如何使用 `connected_components()` 方法查找所有连接组件,通过创建稀疏矩阵并调用该方法实现。
19 0
|
2月前
|
算法 Python
SciPy 教程 之 SciPy 图结构 1
SciPy 图结构教程介绍了图的基本概念及其在算法中的应用。图由节点和边组成,节点代表对象,边表示对象间的连接。SciPy 的 `scipy.sparse.csgraph` 模块提供了处理图结构的工具。邻接矩阵用于表示节点间的连接关系,分为有向图和无向图两种类型。无向图的边是双向的,而有向图的边则有明确的方向。
37 0
|
3月前
|
自然语言处理 Java 编译器
为什么要看 Python 源码?它的结构长什么样子?
为什么要看 Python 源码?它的结构长什么样子?
52 2