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错误,对错误进行捕捉,退出循环。
 

 

posted @ 2020-04-20 20:41  越滚越大雪球  阅读(275)  评论(0)    收藏  举报