《Python Data Structures》 Week4 List 课堂笔记
Coursera课程《Python Data Structures》 密歇根大学 Charles Severance
Week4 List
8.2 Manipulating Lists
8.2.1 Concatenating Lists Using +
使用“+”可以把存在的两个list加在一起。如:
>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> c = a + b
>>> print(c)
[1, 2, 3, 4, 5, 6]
>>> print(a)
[1, 2, 3]
8.2.2 Lists Can Be Sliced Using
list切片和string一样,第二个数字只是到这个数,但却不包括它。
>>> t = [9, 41, 12, 3, 74, 15]
>>> t[1:3]
[41, 12]
>>> t[:4]
[9, 41, 12, 3]
>>> t[3:]
[3, 74, 15]
>>> t[:]
[9, 41, 12, 3, 74, 15]
8.2.3 List Methods
list有很多方法,如append, count, extend, index, insert, pop, remove, reverse, sort等。
8.2.4 Building a List from Scratch
我们可以创建一个空list,然后再向里面添加元素,使用"append"方法。使用这个方法的话,新增的元素是放在list的末尾的。
>>> stuff = list()
>>> stuff.append('book')
>>> stuff.append(99)
>>> print(stuff)
['book', 99]
8.2.5 Is Something in a List?
判断一个元素是否在一个list里,可以使用"in"或"not in",而python则会返回一个逻辑布尔值。而这项操作并不会改变list本身。
>>> some = [1, 9, 21, 10, 16]
>>> 9 in some
True
>>> 15 in some
False
>>> 20 not in some
True
8.2.6 Lists are in Order
使用"sort"可以对list进行排序。
>>> friends = ['Joseph', ' Glenn', 'Sally']
>>> friends.sort()
>>> print(friends)
['Glenn', 'Joseph', 'Sally']
8.2.7 Built-in Functions and Lists
>>> nums = [3, 41, 12, 9, 74, 15]
>>> print(len(nums))
6
>>> print(max(nums))
74
>>> print(min(nums))
3
>>> print(sum(nums))
154
>>> print(sum(nums)/len(nums))
25.6
8.3 Lists and Strings
8.3.1 Best Friends: Strings and Lists
split可以将一个字符串分割成几部分,形成一个字符串的list。这样我们就能取到这个字符串的每一个单词,或者使用一个循环把它都过一遍。
>>> abc = "With three words"
>>> stuff = abc.split()
>>> print(stuff)
['With', 'three', 'words']
>>> print(len(stuff))
3
>>> print(stuff[0])
With
>>> for w in stuff:
... print(w)
...
With
Three
Words
同时split会把很多个空格当成一个来处理,默认把它当成定界符。当然,也可以自己决定用其他符号当作定界符。
>>> line = 'A lot of spaces'
>>> etc = line.split()
>>> print(etc)
['A', 'lot', 'of', 'spaces']
>>> line = 'first;seconed;third'
>>> thing = line.split()
>>> print(thing)
['first;second;third']
>>> print(len(thing))
1
>>> thing = line.split(';')
>>> print(thing)
['first', 'second', 'third']
>>> print(len(thing))
3
8.3.2 The Double Split Pattern
如果我们想得到下面这一行中的加粗部分
From stephen.marquard@uct.ac.za Sat Jan 5 09:14:16 2008
那么我们可以这样做
words = line.split()
email = words[1]
pieces = email.split('@')
print(pieces[1])
8.4 Assignment
作业的代码如下
fname = input("Enter file name: ")
fh = open(fname)
lst = list()
for line in fh:
temp = line.split()
for word in temp:
if word not in lst:
lst.append(word)
lst.sort()
print(lst)
8.5 Assignment
作业的代码如下
fname = input("Enter file name: ")
if len(fname) < 1 : fname = "mbox-short.txt"
fh = open(fname)
count = 0
for line in fh:
temp = line.split()
if len(temp) < 1 or temp[0] != 'From':
continue
print(temp[1])
count+=1
print("There were", count, "lines in the file with From as the first word")
《Python Data Structures》 Week4 List 课堂笔记的更多相关文章
- 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记
Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...
- 《Python Data Structures》Week5 Dictionary 课堂笔记
Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week5 Dictionary 9.1 Dictionaries 字 ...
- 潭州课堂25班:Ph201805201 爬虫基础 第七课 Python与常见加密方式 (课堂笔记)
打开图形界面 18版 Python与常见加密方式 前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时 ...
- 学习笔记之Problem Solving with Algorithms and Data Structures using Python
Problem Solving with Algorithms and Data Structures using Python — Problem Solving with Algorithms a ...
- 剪短的python数据结构和算法的书《Data Structures and Algorithms Using Python》
按书上练习完,就可以知道日常的用处啦 #!/usr/bin/env python # -*- coding: utf-8 -*- # learn <<Problem Solving wit ...
- Python Tutorial 学习(五)--Data Structures
5. Data Structures 这一章来说说Python的数据结构 5.1. More on Lists 之前的文字里面简单的介绍了一些基本的东西,其中就涉及到了list的一点点的使用.当然,它 ...
- [译]The Python Tutorial#5. Data Structures
[译]The Python Tutorial#Data Structures 5.1 Data Structures 本章节详细介绍之前介绍过的一些内容,并且也会介绍一些新的内容. 5.1 More ...
- 《Data Structures and Algorithm Analysis in C》学习与刷题笔记
<Data Structures and Algorithm Analysis in C>学习与刷题笔记 为什么要学习DSAAC? 某个月黑风高的夜晚,下班的我走在黯淡无光.冷清无人的冲之 ...
- Go Data Structures: Interfaces
refer:http://research.swtch.com/interfaces Go Data Structures: Interfaces Posted on Tuesday, Decembe ...
随机推荐
- 2019 NCTF Re WP
0x01 debug 测试文件:https://www.lanzous.com/i7kr2ta 1.Linux运行环境 在Linux上运行linux_server64文件 2.IDA配置 __int6 ...
- nginx配置反向代理,解决前端开发的跨域问题
适用:开发和生产环境 配置如下 server { listen 10901; server_name res.pre.ices.red; #charset koi8-r; #access_log lo ...
- React全家桶入门
http://blog.csdn.net/column/details/14545.html
- 2019-11-28-win10-uwp-提示-Cannot-find-a-Resource-with-the-Name-Key-找不到资源
title author date CreateTime categories win10 uwp 提示 Cannot find a Resource with the Name Key 找不到资源 ...
- STM32 常用词汇释义
1.AF——Alternate function 复用功能: 2.NVIC——Nested Vectored Interrupt Controller 内嵌向量中断控制器 3.ISER[8]— ...
- 内置的configparser模块和hashlib模块
#configparser模块:配置解析模块 import configparser config = configparser.ConfigParser() #创建一个配置解析对象 config[& ...
- Codeforces 962 /2错误 相间位置排列 堆模拟 X轴距离最小值 前向星点双连通分量求只存在在一个简单环中的边
A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...
- java 中的编码(二)
UTF-16编码规则: 按照UTF-16编码规则计算下Unicode码位为 U+10002 (十进制:65538)的字符的UTF-16编码表示. U+10002落在 [U+10000, U+10FFF ...
- 29.密码学知识-消息认证码MAC-6——2019年12月19日
1. 消息认证码 1.1 消息认证 消息认证码(message authentication code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称为MAC. 思考改进方案? 从哈希函数 ...
- Hive 笔试题
Hive 笔试题 考试时间: 姓名:____________ 考试成绩:____________ 考试时长:180 分钟 注意事项: 1. 自主答题,不能参考任何除本试卷外的其它资料. 2. 总成绩共 ...