Python列表[start:stop:step]的应用(分割列表,一维数组转二维数组,倒序)

Python的列表可以像for循环那样,赋值起始值、结束值、步进值(start, stop, step),这样就可以省去第三方库的代码,更显精炼。

例一:将列表分割两个等分的列表。

a=['a', 'b', 'c', 'd', 'e', 'V', 'W', 'X', 'Y', 'Z']
half=int(len(a)/2)

print (a[0:half:1])
# 输出:['a', 'b', 'c', 'd', 'e']

print (a[half::1])
# 输出:['V', 'W', 'X', 'Y', 'Z']

例二:一维数组转二维数组(相当于reshape)。

a=['a', 'b', 'c', 'd', 'e', 'V', 'W', 'X', 'Y', 'Z']
half=int(len(a)/2)
b=[]
b=[a[i::half] for i in range(half)]
print (b)
# 输出:[['a', 'V'], ['b', 'W'], ['c', 'X'], ['d', 'Y'], ['e', 'Z']]

 例三:列表倒序(相当于sort)。

a=['a', 'b', 'c', 'd', 'e', 'V', 'W', 'X', 'Y', 'Z']
print (a[::-1])
# 输出:
# ['Z', 'Y', 'X', 'W', 'V', 'e', 'd', 'c', 'b', 'a']

例四:判断字符串是否回文。

s=['上水居民居水上','长洲宾客奔周长']
for i in s:
    if i==i[::-1]:
        print (f'"{i}"是回文。')
    else:
        print (f'"{i}"不是回文。') 

2022年11月21日更新

最近琢磨了一下匿名函数lambda的用法,原来可以做到更精炼、更显高级。例四的代码由6行压缩到3行:

s=['上水居民居水上','长洲宾客奔周长']
wm=lambda x:'是' if x==x[::-1] else '不是'
[print(f'"{i}"{wm(i)}回文。') for i in s]

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值