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()])




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值