python:入门到实践书籍学习(二)

第3、4章 列表

  在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。对于其中的元素类型并不做限制。

  列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。下标以0开始。
  要访问列表的任何元素,都可将其位置减1,并将结果作为索引。例如,要访问第四个列表元素,可使用索引3。若时索引值为负则倒序获取,通过将索引指定为-1 ,可让Python返回最后一个列表元素。
test_list = [1,2,3,4,5,6]
# 获取下标为0的列表元素
print(test_list[0])
# 获取下标为2的列表元素
print(test_list[2])
# 获取下标为4的列表元素
print(test_list[4])
‘‘‘
输出结果
1
3
5
‘‘‘列表访问
  可以像使用变量一样使用列表的值
bicycles = [‘trek‘, ‘cannondale‘, ‘redline‘, ‘specialized‘]
message = "My first bicycle was a " + bicycles[0].title() + "." 
print(message)
  列表的添加删除与修改:
    要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。 


motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘]
print(motorcycles)
motorcycles[0] = ‘ducati‘ 
print(motorcycles)
‘‘‘
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘ducati‘, ‘yamaha‘, ‘suzuki‘]
‘‘‘列表元素修改
    在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。使用方法insert() 可在列表的任何位置添加新元素。但是需要指定新元素的索引和值。


# 末尾添加
motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘] 
print(motorcycles)
motorcycles.append(‘ducati‘) 
print(motorcycles)
‘‘‘
[‘honda‘, ‘yamaha‘, ‘suzuki‘] 
[‘honda‘, ‘yamaha‘, ‘suzuki‘, ‘ducati‘]
‘‘‘
# 使用方法insert() 可在列表的任何位置添加新元素
motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘]
motorcycles.insert(0, ‘ducati‘) 
print(motorcycles)列表元素添加
    如果知道要删除的元素在列表中的位置,可使用del 语句。
    方法pop() 可删除列表末尾的元素,并能够接着使用它。实际上,可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。
    如果只知道要删除的元素的值,可使用方法remove() 。 

      注意 方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

# 使用del
motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘] 
print(motorcycles)
del motorcycles[0] 
print(motorcycles)
‘‘‘
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
[‘yamaha‘, ‘suzuki‘]
‘‘‘

# 使用pop 可以获取到删除的值
motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘] 
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
‘‘‘
[‘honda‘, ‘yamaha‘, ‘suzuki‘] 
[‘honda‘, ‘yamaha‘] 
suzuki
‘‘‘


# 使用remove删除
motorcycles = [‘honda‘, ‘yamaha‘, ‘suzuki‘, ‘ducati‘] 
print(motorcycles)
motorcycles.remove(‘ducati‘) 
print(motorcycles)

‘‘‘
[‘honda‘, ‘yamaha‘, ‘suzuki‘, ‘ducati‘] 
[‘honda‘, ‘yamaha‘, ‘suzuki‘]
‘‘‘列表删除
  Python方法sort() 能够较为轻松地对列表进行排序。还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort() 方法传递参数reverse=True 。
  函数sorted() 能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
  len()方法可以获取对象长度。
  列表方法


方法
描述


append()
向列表末尾添加一个元素


insert()
向对应下标位置添加元素


index()
获取对应元素的下标


pop()
删除对应下标的元素并返回 默认值为列表最末元素


remove()
删除对应元素 只能删除第一个


reverse()
反转列表


  for循环
    循环是为了让计算机自动完成重复工作的常见方式之一。
    语法格式
    for  循环变量  in  可迭代对象:
      循环体
    else:(可选的整个循环完成后执行)
      代码块
    range()函数用于生成一系列的数字例如:
# 输出0-9 10个数字 需要注意循环左闭右开
for i in range(10):
    print(i)

# 输出2-11步长为2 range(start,stop,step)开始,结束,步长 结果为 2 4 6 8 10
for i in range(2,11,2):
    print(i)
    min,max,sum 最小值,最大值,和
    列表生成式:
test_list = [i**i for i in range(10)]
test_list2 = [i for i in range(1,20,2)] # 输出1,20的奇数
test_list3 = [ i for i in range(3,30) if i%3==0] # 输出3,30能被整除的数
test_list4 = [ i**i for i in range(1,11)] # 输出1,10的立方
    列表切片:
test_list = [i for i in range(10)]
print(test_list)
print(test_list[0:3]) # 获取前3个元素
print(test_list[1:4]) # 获取第2到4个元素
print(test_list[:4]) # 获取前4个元素
print(test_list[2:]) # 获取第3个元素到末尾的元素
print(test_list[-3:]) # 获取最后三个元素
# 如果要遍历列表的部分元素,可在for 循环中使用切片。
for i in test_list[2:7]:
    print(i)
    元组:
      元组是不可变的,看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
      像列表一样,也可以使用for 循环来遍历元组中的所有值    pep8:
      PEP8建议每级缩进都使用四个空格。      代码建议每行不超过80字符。      要将程序的不同部分分开,可使用空行。