python list列表操作总结(Python基础-基本数据类型)
Python中列表(List)是一个非常强大的 '集合',它可以包罗万象,只要是符合Python基本数据类型的数据List都能装进去,还是有序的,而不像set那样只能装不可变类型数据,并且无序。
有关set集合特性请参看 Python基础-基本数据类型(下)--set
list栗子:
# coding:UTF-8
def data():
list_data = [] # 初始化列表
b = {'a': 1, 'b': 2} # 字典
c = 2 # int
d = 'data' # string
e = (1, 2) # 元祖
f = ['da'] # List
g = {5} # set
h = 1.5 # float
list_data.append(b)
list_data.append(c)
list_data.append(d)
list_data.append(e)
list_data.append(f)
list_data.append(g)
list_data.append(h)
print(list_data)
if __name__ == '__main__':
data()
# ===============================
# 输出:[{'a': 1, 'b': 2}, 2, 'data', (1, 2), ['da'], {5}, 1.5]
输出顺序和添加顺序保持一致
场景一:访问List中的元素
同基本数据类型string同理,List中元素同样有其下标(索引),先来看看string中的元素与下标之间的关系
要访问List中的元素数据,也可以使用下标来获取
# coding:UTF-8
def data():
list_data = ['data', 55, (1, 2), {'a': 1, 'b': 2}, 5.5, ['da', 7]]
data01 = list_data[0]
print(data01) # data
print(type(data01)) # <class 'str'>
data02 = list_data[-6]
print(data02) # data
print(type(data02)) # <class 'str'>
if __name__ == '__main__':
data()
如果访问下标(索引)超出了列表的范围则会报索引越界错误
IndexError: list index out of range
然而当使用 list[a:b] 这样的方式去切列表的时候并不会报错
注:list[a:b] 中a为起始索引,b为截止索引,意思是取出索引从a开始一直到索引b终止的数据,不包含b索引数据,即左闭右开原则
类似于 list[0:9] 的形式。终止索引的值即使超过 list 的正向最大索引也不会报错的,当b大于正向最大索引时,可以理解为:
从起始索引一直截取到最后一个数据
list_data = ['data', 55, (1, 2), {'a': 1, 'b': 2}, 5.5, ['da', 7]]
first_data = list_data[2:500] # 500大于最大索引值
print(first_data)
# 输出(并没有报错)
[(1, 2), {'a': 1, 'b': 2}, 5.5, ['da', 7]]
# 开头不写默认从索引为0开始截取
first_data = list_data[:2]
print(first_data) # 输出 ['data', 55]
对于正向截取上述截取甚至可以写成 list_data[2:] 也是截取到最后一个元素的意思
对于负向索引截取时同理,都不会报错
需要注意的:
对于 list[a:b] 截取和字符串类型的截取,在负向索引截取时有个不同点,string字符串负向索引截取时会截取到的为空,这点需要注意下
以下是字符串类型的截取规则
说白了就是,在对于List和string通过下标去截取时,只有在负向截取上有差异
list 负向截取超出最大索引时可以正常截取
string 负向截取超出最大索引时取道的为空
场景二:访问list中的元素并取得该元素的下标
对于访问集合类型数据,没有什么是for循环解决不了的,list数据也一样,通常通过for循环来顺序访问list中的元素:
list_data = ['data', 55, (1, 2), {'a': 1, 'b': 2}, 5.5, ['da', 7]]
for i in list_data:
print(i)
# 输出
data
55
(1, 2)
{'a': 1, 'b': 2}
5.5
['da', 7]
上述这种只能循环出list中的元素,如果要顺带循环出每个元素的索引就需要使用enumerate函数
list_data = ['data', 55, (1, 2), {'a': 1, 'b': 2}, 5.5, ['da', 7]]
for index, ele in enumerate(list_data):
print('索引' str(index))
print(ele)
# 输出
索引0
data
索引1
55
索引2
(1, 2)
索引3
{'a': 1, 'b': 2}
索引4
5.5
索引5
['da', 7]
以上就是有关list集合常用到的部分操作,更多list集合方法的实践操作请参考API文档
python-3.86 API文档手册 中文版.chm
https://wwi.lanzoui.com/iyu4Erjndgd
提取码:data
更多精彩内容请关注 公众号:数据与编程之美
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com