wlp1818100227 发表于 2021-10-22 09:11:13

新人求助关于list索引问题

本帖最后由 wlp1818100227 于 2021-10-22 09:12 编辑

刚刚从Matlab转Python的萌新,问题如下
a = ;
b = ;
想通过a把b的值索引出来导入新矩阵中
MATLAB代码如下
i = 1:3
n = b(a(i))
结果
n =

想用python除了for 循环还有其他办法吗

逃兵 发表于 2021-10-22 09:18:13

切片就可以了
从0开始,区间前闭后开
b =
print(b)
print(b)
print(b)
print(b)
print(b)
print(b)

hrpzcf 发表于 2021-10-22 09:18:22

n = for i in a]

wlp1818100227 发表于 2021-10-22 09:23:28

逃兵 发表于 2021-10-22 09:18
切片就可以了
从0开始,区间前闭后开

谢谢啦,看来还是python可能还是for循环简单一点

wlp1818100227 发表于 2021-10-22 09:25:49

hrpzcf 发表于 2021-10-22 09:18


用for 好简洁,用MATLAB一直不太喜欢用for{:10_250:}

suchocolate 发表于 2021-10-22 09:26:52

如果按index逐个取的话,python确实需要for循环,或者借助for的列表推导式。
>>> a

>>> b

>>> - 1] for i in range(3)]

>>>
单如果是连续取的话,用切片是比较方便的:>>> b =
>>> b

>>>

hrpzcf 发表于 2021-10-22 09:33:55

本帖最后由 hrpzcf 于 2021-10-22 09:35 编辑

wlp1818100227 发表于 2021-10-22 09:25
用for 好简洁,用MATLAB一直不太喜欢用for

在python中一般不用把索引和值分开储存这种写法
上一级处理出来的索引值直接用于列表取值就可以了,甚至可以把处理索引和取值写在一个语句内,索引值单独储存相当于多了个中间环节
页: [1]
查看完整版本: 新人求助关于list索引问题