Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按电子邮件行拆分后的一周天数排序_Python - Fatal编程技术网

Python 按电子邮件行拆分后的一周天数排序

Python 按电子邮件行拆分后的一周天数排序,python,Python,我有一个代码,可以从行中检索并拆分,以获得一周中的天数,并计算该天出现的频率。我设法做到了这一点,但现在我被困在如何根据一周中的天数对列表进行排序上 filename = input("Please Enter A File Name: ") filehand = open (filename) count=dict() for line in filehand: if not line.startswith('From ') : continue line = line.sp

我有一个代码,可以从行中检索并拆分
,以获得一周中的天数,并计算该天出现的频率。我设法做到了这一点,但现在我被困在如何根据一周中的天数对列表进行排序上

filename = input("Please Enter A File Name: ")
filehand = open (filename)
count=dict()
for line in filehand:
    if not line.startswith('From ') : continue 
    line = line.split() 
    day = line[2]  

    count[day] = count.get(day,0)+1

Flist = list()
for key, value in count.items():
    Flist.append((key, value))
Flist.sort(key = lambda l: (l[1], l[0]), )

for key, value in Flist:
     print (key, value)
我的输出:

Please Enter A File Name: mbox.txt
Sat 61
Sun 66
Wed 292
Mon 299
Fri 315
Tue 372
Thu 392
有没有办法让它看起来像下面的列表

Mon 299
Tue 372
Wed 292
Thu 392
Fri 315
Sat 66
Sun 61
与此相反:

Flist.sort(key = lambda l: (l[1], l[0]), )
试试这个:

days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

Flist = sorted(Flist, key= lambda l : days.index(l[0]))
# Or,
Flist.sort(key = lambda l: days.index(l[0]))
与此相反:

Flist.sort(key = lambda l: (l[1], l[0]), )
试试这个:

days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

Flist = sorted(Flist, key= lambda l : days.index(l[0]))
# Or,
Flist.sort(key = lambda l: days.index(l[0]))

按照建议,使用集合.OrderedDict()


按照建议,使用集合.OrderedDict():


python字典中的键、值对本质上是不有序的。如果您想订购,请使用订购的DICT。更多信息:python字典中的键、值对本质上是不有序的。如果您想订购,请使用订购的DICT。更多内容:作为旁注,生成零字典的一种python方法是dict(zip(['Sun','Mon','Tue','Wed','Thu','Fri',[0]*7))。另一个旁注是,如果你想在周日开始你的一周,你可以使用
工作日。移动到末尾('Sun',last=False)
,生成零字典的一种Pythonic方法是dict(zip(['Sun','Mon','Tue','Wed','Thu','Fri',[0]*7))。另一方面,如果你想在周日开始你的一周,你可以使用
工作日。移动到末尾('Sun',last=False)