python zip函数/np.where找到满足条件的元素位置/numpy与list转换/eval

本文介绍了Python编程中的几个高级技巧,包括使用zip()函数处理多个列表、利用numpy进行数组操作及转换,以及如何通过np.where()函数实现条件筛选等功能。

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

一、zip()
描述
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
实例
以下实例展示了 zip 的使用方法:

a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)     # 打包为元组的列表
print zipped
print zip(a,c)              # 元素个数与最短的列表一致
print zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
print zip(zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
'''
输出
[(1, 4), (2, 5), (3, 6)]
[(1, 4), (2, 5), (3, 6)]
[(1, 2, 3), (4, 5, 6)]
[((1, 4),), ((2, 5),), ((3, 6),)]'''

二、np.where()

#coding: utf-8
import numpy as np
l = [[34,465, 56, 4, 7, 8, 3],[34,465, 56, 4, 400, 8, 3]]
l = np.array(l)
print l
a = np.where(l>300)
print a
#输出为(array([0, 1, 1]), array([1, 1, 4]))

三、numpy与list转换

a=[3.234,34,3.777,6.33]

a为python的list类型

将a转化为numpy的array:

a = np.array(a)
print a
结果:array([ 3.234, 34. , 3.777, 6.33 ])

将a转化为python的list

a.tolist()

有报错了 Epoch 1/200 训练 Epoch 1: 0%| | 0/52 [00:01<?, ?it/s] Traceback (most recent call last): File "/home/liulicheng/MultiModal_MedSeg_2025/train/lits_swinunetr_dynunet_advanced.py", line 235, in <module> outputs = model(inputs) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/monai/networks/nets/swin_unetr.py", line 325, in forward hidden_states_out = self.swinViT(x_in, self.normalize) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, **kwargs) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/monai/networks/nets/swin_unetr.py", line 1064, in forward x0_out = self.proj_out(x0, normalize) File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/monai/networks/nets/swin_unetr.py", line 1051, in proj_out x = rearrange(x, "n c d h w -> n d h w c") File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/monai/utils/module.py", line 448, in __call__ raise self._exception File "/home/liulicheng/anaconda3/envs/covid_seg/lib/python3.8/site-packages/monai/utils/module.py", line 399, in optional_import pkg = __import__(module) # top level module monai.utils.module.OptionalImportError: from einops import rearrange (No module named 'einops'). For details about installing the optional dependencies, please visit: https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies你看看
最新发布
06-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值