### Python从List列表中选出一个数及其对应的坐标方法 #### 概述 本文将详细介绍如何在Python中从一个二维列表中选取特定值及其对应的坐标。这通常涉及到对列表的遍历以及条件判断,有时还需要利用NumPy库来提高操作效率。 #### 例1:选择特定值及其对应的坐标 假设有一个二维列表`a`,其中每个元素代表一对坐标值`(x, y)`,任务是找出所有`y`值等于3的情况,并返回对应的`x`值。 **原始列表**: ```python a = [[5, 2], [6, 3], [8, 8], [1, 3]] ``` **目标**: 找出`y`值为3时对应的`x`值,即返回`[6, 1]`。 **解决方案**: 1. **使用NumPy矩阵**: 虽然本例中未必要使用NumPy,但这里给出一种基于NumPy的方法。 - 首先将列表转换成NumPy矩阵。 - 创建一个空列表`b`用于存储结果。 - 使用`for`循环遍历列表中的每一个元素。 - 在循环内部,使用`try...except`结构尝试查找特定值的索引。 - 如果找到该值,则将对应的`x`值追加到列表`b`中。 - 最后打印出`b`。 ```python import numpy as np a = [[5, 2], [6, 3], [8, 8], [1, 3]] c = np.mat(a) b = [] for i in range(len(a)): try: b_index = a[i].index(3) except ValueError: pass else: b.append(c[i, 0]) print(b) # 输出: [6, 1] ``` 2. **简化版本**: - 可以使用更简洁的列表推导式实现同样的功能。 - 通过列表推导式和条件语句`if`筛选出满足条件的`x`值。 ```python a = [[5, 2], [6, 3], [8, 8], [1, 3]] x = [i[0] for i in a if 3 in i] print(x) # 输出: [6, 1] ``` #### 例2:绘制特定高度的等高线图 假设有一组三维坐标`(x, y, z, h)`,任务是在给定高度`h`的情况下,绘制对应的等高线图。 **数据集**: - 一系列坐标`(x, y, z, h)`,其中`h`表示高度。 **步骤**: 1. **导入数据**: 使用`numpy.loadtxt()`函数从文件中加载数据。 2. **处理数据**: - 将第四列即`h`列保留五位小数。 - 寻找`h`等于特定值的所有情况,并保存对应的`x`和`y`坐标。 3. **绘制散点图**: 使用Matplotlib绘制这些坐标点。 **示例代码**: ```python import matplotlib.pyplot as plt import numpy as np # 1. 导入数据 data = np.loadtxt(r'/media/sf_Share/fisher_matrix/myLSPE/data/41+95+150/r_0.01/sigma_F_0.1/sigma_F=0.1/threefre.txt') # 2. 处理数据 # 将第四列即h保留5位小数 for i in range(len(data)): data[i, 3] = float('%.5f' % data[i, 3]) # 3. 找到h等于特定值的情况 x_mat = [] y_mat = [] target_height = 0.00211 for i in range(len(data)): try: data_index = list(data[i]).index(target_height) except ValueError: pass else: x_mat.append(data[i, 0]) y_mat.append(data[i, 1]) # 4. 绘制散点图 plt.scatter(x_mat, y_mat) plt.show() ``` **总结**: 本文介绍了两种不同的场景下如何从列表中选择特定值及其对应的坐标,包括基础列表操作、NumPy矩阵应用以及Matplotlib绘图技巧。这些方法可以帮助读者更好地理解和操作Python中的列表数据结构,适用于多种实际问题解决。




























- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于JSP的校园网站的设计与实现论文.doc
- 利用单片机制作简单万年历.doc
- 正确选择财务管理软件[会计实务-会计实操].doc
- 学校开展“2022年网络安全宣传周”活动方案.docx
- 系统集成-大屏监控系统使用说明书.doc
- 普通高中语文教学导向深度学习实践研究方案.doc
- 计算机网络技术模拟试题及答案(最终).doc
- 幼儿园语言文字领导小组网络图.pdf
- 网络防火墙需求分析.doc
- 在Excel中判断单元格是否包含日期【会计实务操作教程】.pptx
- 井下人员定位系统与通信联络系统.ppt
- (源码)基于C++ROS框架的机器人控制系统.zip
- 工程项目管理团队建设.ppt
- 教你如何选择合适的财务软件 .pdf
- 基于单片机的AD转换电路与程序设计.doc
- 网络分析仪E6607C操作指导.ppt


