ls=['abcd','1233444']
ls2=[]
for i in ls:
ls2.append(i[-1:-4])
print(ls2)
输出
['', '']
兄弟们昨天考python2级最后一题遇到类似的问题
为什么我这样取不出ls里面的字符串啊
如果有帮助的话,请点击右上角【采纳】按钮,支持一下!!
不加上步长-1 的话,默认步长1,那就不对了。 所以改为:i[-1:-4:-1]
ls=['abcd','1233444']
ls2=[]
for i in ls:
ls2.append(i[-1:-4:-1])
print(ls2)
i[-1,-4, -1],步长为-1
python切片操作三个参数(start_index、end_index、step),step其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值,i[-1:-4]step=1,从左往右取值,而start_index=-1到end_index=-4决定了从右往左取值,两者矛盾,所以为空。
i[-1:-4]这里默认步长是1,因为你是逆向读取,需要把步长设为-1,改成:
i[-1,-4,-1]
明白了 多谢大家