Coursera/py4inf/python data structure 笔记 密歇根大学


本文是Coursera上密歇根大学的Dr.Chuck开设的Python for everybody系列课程中Python Data Structure的个人笔记,记录备查阅


课程主页:https://www.coursera.org/learn/python-data


File

handle = open(filename,mode)
mode: 'r' read   'w' write


文件读入的时候有两种形式读入:
1.依次读入每一行(后面的\n一起读取),直接用handle = open(filename,mode)即可
2.将整个文件的内容读取成一长串的字符串,handle=open(filename,mode), inp= handle.read()

---------------------------------
List

两种不同的循环:
friends = ['Joseph','Glenn','Sally']
1.for friend in friends:
     print friend

2.for i in range(len(friends)):
    print friend[i]

List里面的内容是可以变化的,而string和tuple元组的是不能变的immutable
List里面的内容是有序的,dict里面的内容是无序的Hasgmap
----------------------------------
Dict

dict.get(key,defalutvalue) 取dict里面的key对应的value,如果没有这个key,那么就返回defaultvalue

dict.keys()
dict.values()
dict.items() ----->  出来的tuple

两个同步的循环变量(其实使用tuple实现的)
jjj = { 'chuck' : 1 , 'fred' : 42, 'jan': 100}
for aaa,bbb in jjj.items() :
    print aaa, bbb
--------------------------------
Tuple
1.两个同步循环变量
tuple可以同时给两个变量赋值,左边的括号可以省略
(a,b)=(88,99)   or   a,b =(88,99)

又因为dict.items()出来的是由tuple组成的list
所以可以有两个同步的循环变量 for (a,b) in dict.items()://code here

2. key-sort
dict本身是无法进行排序的,单个tuple内部也无法进行比较,没有sort(),但是tuples之间可以通过比较运算符来进行排序

所以,本来不可排序的dict在转换以后可以通过这样的方式来进行排序。有两种方法:
    tmplist = dict.items()
1.templist.sort()  在这种方式里面不能写成dict.items().sort()
2.sorted(templist)  在这种方式里面可以写sorted(dict.items())


3.value-sort
思路是将dict里面的tuple交换位置以后放到list里面,然后sort
    c=dict()
    temp=list()
    for k,v in c.items():
        temp.append((v,k))
    temp.sort(reverser=True)

4.list comprehension 列表推导式
    [expression for variable in list if condition]
    所以上面的就可以写成sorted([(v,k) for k,v in c.items()])




你可能感兴趣的:(coursera笔记,python笔记,python)