Coursera Python学习笔记(二)数据结构

String

  • python3中,所有不同语言的字符串都是Unicode
  • fruit = 'banana'    fruit[0] = ' b'   fruit[0:4]  = 'bana',  我们不可以用 fruit[0] = 'B' 来修改字符串,但是List可以
  • len(fruit)  #字符串长度
  • for letter in fruit: #输出这个字符串中的所有字符
  • if letter == 'a': #可以用等号来判断字符或字符串是否相等
  • after = before + 'aaa' #字符串拼接(拼接后中间没有空格)
  • if 'f' in fruit  :True  # 用in可以来判断字符串里是否有某个字符(或多个字符)
  • 字符串比较: word == 'banana' 一个一个字符串比较,word <(>)  'banana' 按照字母序判断 注意大写小于小写
  • dir(fruit) #会输出fruit这个字符串python 内置的各种Methods.比如fruit.lower()就是一个method.

  • capitalize() 首字母大写 、str.find('a') 如果没有找到返回-1、str.replace('a','b')用b替换所有的a、lstrip、rstrip、strip去掉str左边,右边,两边的whitespaces、startswith()\endswith()判断整个字符串的开头字符

File

  • fhand = open(filename,mode)   mode:‘r’  filename是一个string

  • 这个fhand并不是真的读取了文件中的所有内容,而是可以manipulate文件的一个connection,可以看做是a sequence of strings,每一个string就是文件中的一行。

handle在内存里,把secondary memory中的内容和我们的python文件连接起来了,open/read/write/close就是一系列operation。

  • 要输出文件中的每一行,可以这样子:for line in fhand:print(line)
  • content= fhand.read()     len(content)就是文件中所有的字符数 content[:20]即文件前20个字符
  • if not 'abc' in line/ if line startswith('From:') .....     可以根据自己需要筛选出自己要的那些行
  • 一般文件操作都要有try,except操作 try:..... except:....quit()
  • 换行符\n:(一种whitespace whitespace就是那些看不见的比如\n,\r...)

List

  • 有趣的一件事:,浮点数are not always perfectly represented inside of the computer
  • range(10) :生成一个list (a list of numbers that range from zero to one less than the parameter)   
  • List拼接:① a = [1,2,3]  b = [4,5,6] , c = a+b = [1,2,3,4,5,6]  ② c.append('888')  c = [1,2,3,4,5,6,'888']  c.append(888) c = [1,2,3,4,5,6,888]
  • List分割: 
  • 初始化一个空List:stuff = list() 或 stuff  = []
  • 判断List中是否有某字符:9 in c:False 、2 not in c: False
  • List自带有sort方法:c.sort()
  • List还有一些处理数值的方法:,不过这些内置的方法在数据量比较大的时候其实效率不高.
  • 把字符串切割成List:

Dictionary

  • List与Dictionary的不同点:。因为字典里的元素没有顺序,所以字典中的元素需要有label~也就是key
  • 初始化:purse = dict()     purse['money'] = 12(赋值)    空字典:purse = {}
  • 字典的应用:① 计多个元素出现的次数
  • 判断一个value是否在字典里:if ‘money’ in purse
  • 不重复地向字典中添加元素:
  • .get()方法:      update的同时可以create: (背景是计算一段文本中每个单词的出现次数)
  • 获取字典的key和value的List:                                  循环输出key和value值:
  • 使用字典计算文件中的单词出现次数:

Tuple

  • 元组是不可变长的(immutable)
  • 元组比较高效,当构造临时变量的时候用元组比较好
  • 元组可以多元素赋值:
  • 将字典中内容保存为元组列表:
  • 元组是可比较的(字母比较根据首字母):
  • 用元组对字典内容排序:根据key排序: 根据value排序:  更简洁的写法:
  • 计算文件中出现次数前十位的单词及其数量:
  •  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Algorithm_goddness

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值