python基本知识1-列表,元组
1、列表推导
列表推导可以帮助我们把一个序列或是其他可迭代类型中的元素过滤或者加工,然后新建一个列表(Python内置的 filter和map函数组合起来也能达到同样的效果)。
x = list("my friend")
xx = [xl for xl in x if xl != 'i']
print(xx)
输出为
['m', 'y', ' ', 'f', 'r', 'e', 'n', 'd']
使用map和filter实现
xxx = list(filter(lambda x: x!='i', map(ord, x)))
print(xxx)
2、生成器表达式
用来建立数组,Tuple或者其他序列类型,优势是不先建立完整列表,而是逐个产生元素,节省内存。
3、元组 Tuple
特性:不可变列表,没有字段名的记录(数量和位置信息)
元组的顺序可能包含信息: lax_coordinates = (33.1232.-118.234) #括号内表示经纬度
元组拆包:1、使用_表示不关心的元素
import os
_, filename = os.path.split('/home/test/.ssh/idrsa.pub')
2、*来处理剩下的元素
a, b, *rest = range(5) # 0 , 1, [2, 3 , 4]
a, *b , c = range(5) # 0, [1, 2, 3], 4
嵌套元组拆包:
a = ['Tokyo', 'JP', 36.933, (35.68, 139.69),...]
for name, cc, pop, (lat, longi) in a:
print(name, lat, longi)
缺点是只有记录,没有字段名
具名元组
工厂函数collections.namedtuple
import collections
City = collections.namedtuple('City','name country population coordinates')
tokyo = City('tokyo', 'JP', 36.933, (35.34,139.34))
4、切片
s[a:b:c] 表示在a到b之间以c为间隔取值。c为负值表示反向取值