切片
1、从“list”和“tuple”中取出一部分的做法,除了最笨的一个一个拿出或者循环之外,Python提供了“切片”(Slice)操作。
2、“list_name[0:3]”即表示从“list_name”中,取出从“0”下标到“3”下标之间的数据,但是不包含“3”下标的数据。
3、“切片”也可以使用“负数表示倒数第几个的方式”,“list_name[-2:]”即为“从倒数第二个到最后一个”。
4、灵活运用切片可以很方便的获得需要的数据,“从第6个到最后”、“前5个”、“所有数,每5个取第一个”、“前十个数中的偶数”、“前十个数中的奇数”。
5、“tuple”的使用方式同理“list”即可,只是操作对象成为了“tuple”。
6、“字符串”也可以使用“切片”,如下为“获得去除首尾空格字符串”。
list_name = ['A', 'B', 'C', 'D', 'E']
print("list_name is %s" % (list_name))
print("list_name[0:3] is %s\n" % (list_name[0:3]))
# 切片从0开始索引,0可以省略,list_name[0:3] == list_name[:3]
# list_name[0:3]是从0开始,索取到下标为3为止,但是不包含第(3+1=)4个
print("list_name[-2:] is %s\n" % (list_name[-2:]))
# range()用于创建一个整数列表,range(3)就是[0, 1, 2, 3]
list_NameHyaKu = list(range(99))
print("list_NameHyaKu[5::] is %s\n" % (list_NameHyaKu[5::]))
print("list_NameHyaKu[:5:] is %s\n" % (list_NameHyaKu[:5:]))
print("list_NameHyaKu[::5] is %s\n" % (list_NameHyaKu[::5]))
print("list_NameHyaKu[:10:2] is %s\n" % (list_NameHyaKu[:10:2]))
print("list_NameHyaKu[1:10:2] is %s\n" % (list_NameHyaKu[1:10:2]))
tuple_name = ('a', 'b', 'c', 'd', 'e')
print("tuple_name[-2:] = %s\n" % (tuple_name[-2:],))
# 字符串也可以做切片操作,如下去除首尾空格
str = " hello "
print("str is '%s'" % (str))
str1 = str[1:-1]
print("str1 is '%s'" % (str1))
迭代
1、对于给定的“list”或者“tuple”,使用“for”循环来遍历,称为“迭代”(Iteration)。
2、“dict”也是可以迭代的,但是默认情况下迭代出的是“dict”的“key”。可以通过“dict_name.values()”迭代出“dict”的“value”,或者“dict_name.item()”同时迭代“key”和“value”。
3、判断一个对象是否可以进行迭代,需要通过“collections”模块的“Iterable”类型来判断,调用的函数是“isinstance”。
4、“enumerate”函数可以将“list”或者“tuple”变成“索引-元素对”,这样就可以迭代“索引(下标)”和“元素”本身了。
from collections.abc import Iterable
print(isinstance("abc", Iterable))
dict_name = {'a': 1, 'b': 2, 'c': 3}
list_name = list(range(5, 9))
list_name1 = [(1, 2, 3), (4, 5, 6)]
tuple_name = ('a', 'b', 'c')
for key in dict_name:
print(key)
print()
for value in dict_name.values():
print(value)
print()
for key, value in dict_name.items():
print(key, value)
print()
for c in "ABC":
print(c)
print()
for i, value in enumerate(list_name):
print(i, value)
print()
for i, value in enumerate(tuple_name):
print(i, value)
print()
for x, y, z in list_name1:
print(x, y, z)
print()