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.

    Coursera Python学习笔记(二)数据结构_第1张图片

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

    Coursera Python学习笔记(二)数据结构_第2张图片

    Coursera Python学习笔记(二)数据结构_第3张图片

File

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

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

Coursera Python学习笔记(二)数据结构_第4张图片

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...)

Coursera Python学习笔记(二)数据结构_第5张图片

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分割: Coursera Python学习笔记(二)数据结构_第6张图片
  • 初始化一个空List:stuff = list() 或 stuff  = []
  • 判断List中是否有某字符:9 in c:False 、2 not in c: False
  • List自带有sort方法:c.sort()
  • List还有一些处理数值的方法:Coursera Python学习笔记(二)数据结构_第7张图片,不过这些内置的方法在数据量比较大的时候其实效率不高.
  • 把字符串切割成List:Coursera Python学习笔记(二)数据结构_第8张图片

Dictionary

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

Tuple

  • 元组是不可变长的(immutable)Coursera Python学习笔记(二)数据结构_第18张图片
  • 元组比较高效,当构造临时变量的时候用元组比较好
  • 元组可以多元素赋值:
  • 将字典中内容保存为元组列表:Coursera Python学习笔记(二)数据结构_第19张图片
  • 元组是可比较的(字母比较根据首字母):Coursera Python学习笔记(二)数据结构_第20张图片
  • 用元组对字典内容排序:根据key排序:Coursera Python学习笔记(二)数据结构_第21张图片 根据value排序:Coursera Python学习笔记(二)数据结构_第22张图片  更简洁的写法:Coursera Python学习笔记(二)数据结构_第23张图片
  • 计算文件中出现次数前十位的单词及其数量:Coursera Python学习笔记(二)数据结构_第24张图片
  •  

你可能感兴趣的:(编程语言-python)