python列表的使用

Posted 越滚越大雪球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python列表的使用相关的知识,希望对你有一定的参考价值。

python列表的使用:

系统环境:

import os
print(os.name)
print(os.environ.get(\'JAVA_HOME\'))

1、list主要属性

 2、测试list的主要的方法

  准备列表数据

   mylist = [\'a\', \'b\', \'c\', \'d\', \'e\', \'f\']

在列表末尾新增数据
mylist.append(\'g\')
print(mylist)
输出结果:[\'a\', \'b\', \'c\', \'d\', \'e\', \'f\', \'g\'] 列表末尾增加了\'g\'

#删除数据
mylist.pop(0)
print(mylist)
输出结果:[\'b\', \'c\', \'d\', \'e\', \'f\'] 输出列表头删除了\'a\',原mylist表数据没有真实删除
mylist.pop(-1)
print(mylist)
输出结果:[\'a\', \'b\', \'c\', \'d\', \'e\'] 输出列表尾删除了\'g\',原mylist表数据没有真实删除

mylist += mylist
mytup = list(enumerate(mylist))
print(mytup)
输出结果:[(0, \'a\'), (1, \'b\'), (2, \'c\'), (3, \'d\'), (4, \'e\'), (5, \'f\'), (6, \'a\'), (7, \'b\'), (8, \'c\'), (9, \'d\'), (10, \'e\'), (11, \'f\')] 索引与字符组成一队元组
mylist += mylist
print(mylist)
print(mylist.index(\'b\')) 只输出命中的第一个元素的位置索引,第2个\'b\'的索引位置未输出

 

嵌套列表的处理

arr1 = [mylist, mylist, mylist]

print(\'\\n\',arr1)
print(\'--\'*50)
for i in arr1:
print(\'\\n\',i)
print(\'\\n\',arr1[2][3])
输出结果如下:

 

 

要研究迭代器,首先需要弄清楚什么是可迭代对象,在我们学过的数据类型中,有那么几个数据类型是可以被for循环的,而for循环我们之前说过,他就是对可迭代对象的循环。

比如:字符串、列表、字典、集合、元祖。

 

可迭代对象就是在内置的方法中有__iter__的对象都是可迭代对象。

 

迭代器对象

 

print(mylist.__iter__())  # 含有__iter__的内置方法就是可迭代对象
m_iter = mylist.__iter__()
print(m_iter.__next__())
print(m_iter.__next__())
print(m_iter.__next__())

<list_iterator object at 0x00000259DAFE3C18>
a
b
c

 

那么什么又是迭代器对象呢?内置有_iter_、__next__的方法的对象都是迭代器对象,迭代器对象可以通过可迭代对象得到。

for循环的作用机制


m_iter = mylist.__iter__();
while True:
try:
print(m_iter.__next__())
except StopIteration:
break

for i in mylist:
print(i)

# 以上述为例。
# 第一步:首先会进行
m_iter = mylist.__iter__(),将可迭代对象转化为迭代器对象
# 第二步:进行m_iter.__next__的调用,得到返回值给k,然后进行代码块的操作
# 第三步:循环第二步,直到出现StopIteration错误,对错误进行捕捉,退出循环。
 

 

以上是关于python列表的使用的主要内容,如果未能解决你的问题,请参考以下文章

Python代码阅读(第40篇):通过两个列表生成字典

Python代码阅读(第25篇):将多行字符串拆分成列表

30 段 Python 实用代码

Python代码阅读(第13篇):检测列表中的元素是否都一样

Python代码阅读(第41篇):矩阵转置

即学即用的 30 段 Python 实用代码