你想象一个从零开始的数轴,每一【段】中放一个元素(对于列表就是列表元素,字符串就是单个字符),比如0~1之间是list[0],list[:a]就是a对应那个数之前的半个列表,list[a:]就是a对应那个数之后的半个列表,list[a:b]就是a对应那个数之后、b对应那个数之前的一截列表。
几乎所有编程都是这么计数的,并且涉及到坐标系、像素时这个会更好理解。
# 文字版:
# -*- coding: utf-8 -*-。
# 辅助函数:把月和日转化成小数格式,方便比较。比如六月三日就转化成6.3。
def md2f(m,d):
return (m) + (d)*0.1。
# 这个函数用来截取需要的时间段。
def getDateRange(dates,startMonth,startDate,endMonth,endDate):。
rangedDates = {} #先定义一个空字典,过会把符合要求的值都添进去。
for k in dates.keys(): #用一个loop,把原本字典里所有的内容都检查一遍。
y = int(k.split("/")[0]) #从“年/月/日“的格式里面提取出y=年、m=月、d=日。
m = int(k.split("/")[1]) 。
d = int(k.split("/")[2])。
# 进行比较,如果月、日符合所给定的时间段,那就把这一项添到新字典里去。
if md2f(startMonth,startDate) < md2f(m,d) < md2f(endMonth,endDate):。
rangedDates[k] = dates[k]。
return rangedDates # 返回新字典,这里面就是所有符合时间段的日期了。
sampleDates = {"1984/2/10":1,"1984/5/15":9,"1984/6/16":3,"1984/9/12":6,"1984/11/12":8,"1985/8/1":7}。
print getDateRange(sampleDates,6,1,10,1) #调用函数,找到六月一号到十月一号之间的日期。
这样比较快
[i.sllit('-')[-1] for i in list0]。
python把列表前几个元素提取到新列表步骤如下:
1、打开python语言命令窗口,定义一个列表变量C并进行赋值。
2、利用获取列表中的序号,获取对应的元素,然后将这些元素拼接成一个新的列表。
3、还可以定义一个空列表,然后使用for...in语句循环生成元素,装载到空列表中。
4、除了上述两种方法之外,还可以使用切片截取的功能。
5、切片的序号除了可以是两个之外,还可以是一个,缺了第一个留下第二个。
6、除了这之外,还可以是一个负数,表示从后到前进行截取。
li = []
for i ,val in enumerate(a):。
if type(val) is int:。
l = []
for j in range(1,val+1):。
l += [a[i+j]]
li += [l]