大家好,我是冲冲,一名主要从事Python服务端开发的程序猿。
以后我会时不时在这里和大家分享服务端软件实际开发工作中用到的实用技术,这些都是历年实践经验的积累,希望大家喜欢!
今天给大家分享的实用技巧是列表范围取值,越界不抛异常的特性应用,希望对大家有所帮助和启发。
首先,我们来看下列表的范围取值样例。
示例代码如下:
arr = [0, 1, 2, 3, 4]
# 普通下标范围的用法
print('arr[0:3]:', arr[0:3])
# arr[0:3]: [0, 1, 2]
# 下标范围的起始值越界后不raise异常,返回为空list
print('arr[10:20]:', arr[10:20])
# arr[10:20]: []
print('arr[30:-1]', arr[30:-1])
# arr[30:-1] []
从上面的样例我们可以看出,当使用范围取值的方式获取列表中的元素时,当范围的值越界时不会抛出异常,会返回空列表。
这个特性有什么实用性呢?
有的,比如:当我们需要调用批量接口将数据提交到服务端时,在数据量大,且服务端批量接口有最大数据条数控制时(这是肯定有的!)。
这时,我们就要使用到循环,将数据分组后提交了。
怎么用呢? 请看下面的示例代码:
################################
# 共10个元素,每3个一组进行业务操作
################################
arr = [0, 1, 31, 3, 4, 32, 6, 7, 33, 9]
interval = 3
start_index = 0
end_index = start_index + interval
# 即使越界也不会raise异常
elements = arr[start_index: end_index]
while elements:
print('>>> do something about ', elements)
start_index = end_index
end_index = start_index + interval
# 即使越界也不会raise异常
elements = arr[start_index: end_index]
结果输出:
>>> do something about [0, 1, 31]
>>> do something about [3, 4, 32]
>>> do something about [6, 7, 33]
>>> do something about [9]
相信大家已经了解了列表范围取值,越界不抛异常的特性应用。
好啦,今天的实用技巧分享就到这里!
欢迎大家多多订阅我,每天分享一个实用知识点,共成长,交个朋友!下期见~~
微信公众号: chongtanjishu
GitHub: https://github.com/streamDream
***具有MySQL的ORM和Client功能的库(pip install mysql-stream),欢迎大家下载使用,多多交流】