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}"不是回文。') 

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

2022年11月21日更新

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

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

你可能感兴趣的:(Python,python,开发语言)