#习题38 区分列表和字符串,用到了split(字符串专用函数),join、append、pop(这些是list操作函数)

 ten_things = "Apples Oranges Crows Telephone Liht Sugar"

 print "Wait there is not 10 things in that list, let's fix that."

 stuff=ten_things.split(' ')

 more_stuff = ["Day","Night","Song","Frisbee","Corn","Banana","Girl","Boy"]

 while len(stuff)!=10:
next_one = more_stuff.pop()
print "Adding:",next_one
stuff.append(next_one)
print "There's %d items now." % len(stuff) print "There we go:",stuff
print "Let's do some things with stuff." print "stuff[1]"
print stuff[1] print "stuff[-1]"
print stuff[-1] print "stuff.pop()"
print stuff.pop() print "' '.join(stuff)"
print ' '.join(stuff) print "'#'.join(stuff[3:5]"
print '#'.join(stuff[3:5] )

结果:

#习题38 区分列表和字符串,同时学者使用split函数
ten_things = "Apples Oranges Crows Telephone Liht Sugar"

print "Wait there is not 10 things in that list, let's fix that."

stuff=ten_things.split(' ')

more_stuff = ["Day","Night","Song","Frisbee","Corn","Banana","Girl","Boy"]

while len(stuff)!=10:
next_one = more_stuff.pop()
print "Adding:",next_one
stuff.append(next_one)
print "There's %d items now." % len(stuff)

print "There we go:",stuff
print "Let's do some things with stuff."

print "stuff[1]"
print stuff[1]

print "stuff[-1]"
print stuff[-1]

print "stuff.pop()"
print stuff.pop()

print "' '.join(stuff)"
print ' '.join(stuff)

print "'#'.join(stuff[3:5]"
print '#'.join(stuff[3:5]

)

个人觉得这么使用字典很帅很帅!!

 cities = {'CA':'San Francisco','MI':'Detroit','FL':'Jacksonville'}
cities['NY']='New York'
cities['OR']='Portland' def find_city(themap,state):
if state in themap:
return themap[state]
else:
return "Not found." cities['_find'] = find_city while True:
print "State?(ENTER to quit)",
state = raw_input("> ") if not state:break
city_found = cities['_find'](cities,state)
print city_found

关于字典:字典出现在当索引不好用的时候--字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里。key可以是数字、字符串甚至元组。

字典应用:1. 数字电话/地址簿;2. 存储文件修改次数,用文件名作为键;3. 表征游戏键盘的状态,每个键都是由坐标值组成的元组;

dict函数的使用:

>>>d=dict(name='GG', age=32)

>>>d

{'age':32,'name':'GG'}

or

>>>a=[('name','GG'),('age',42)]

>>>d=dict(a)

简单数据库实现:

 people = {'Alice':{'phone':'','addr':'Foo drive 23'},'Beth':{'phone':'','addr':'Bar steet 42'},'Cecil':{'phone':'','addr':'Baz avenue 90'}}
labels = {'phone':'phone number','addr':'address'}
name = raw_input('Name: ')
request=raw_input('phone number(p) or address(a)?')
if request=='p':
key = 'phone'
if request == 'a':
key = 'addr'
if name in people:
print "%s's %s is %s." % (name,labels[key],people[name][key])

深拷贝,浅拷贝

待续

笨办法学Python记录--习题38-40,复习前面,运用list操作函数的更多相关文章

  1. 笨办法学Python记录--习题18 变量 函数 help的由来;if语句,循环和列表,冒泡排序,判断输入字符串的方法

    20140414 记录 习题17 - 33 函数可以做3件事: 1. 给代码片段命名,,就跟“变量”给字符串和数字命名一样. 2. 可以接受参数,就跟你的脚本接受argv 一样. 3. 通过使用#1 ...

  2. 笨办法学Python记录--习题37 异常,lambda,yield,转义序列

    习题中提到了raise,查了下,顺便所有异常类关键字罗列如下文章中: 为什么使用异常 错误处理.事件通知.特殊情况处理.退出时的行为.不正常的程序流程. 简单的示例 在没有任何定义x变量的时候: pr ...

  3. 笨办法学Python记录--习题1-11

    20140412(习题1-10),和打印较劲: 1. 读这本书时没有按照要求安装Python2,我选择的是最新版3.4.0(官方release),然后悲剧发现完全不兼容,现在摘录2,3区别: 这个星期 ...

  4. 笨办法学Python记录--习题15-17 开始读写文件啦

    习题15 - 17 打开并读流程: from sys import argv script,filename = argv txt = open(filename) print "Here' ...

  5. 笨办法学Python记录--习题12-14 主要是pydoc用法,raw_input,argv

    20140413 -- 习题12 - 14 1. pydoc在windows的用法,必须进入到python安装目录,执行Python -m pydoc raw_input; 网上给出了一个好玩的,不过 ...

  6. 【笨办法学Python】习题11:打印出改变了的输入

    print "How old are you?", age = raw_input() print "How tall are you?", height = ...

  7. 笨办法学Python - 习题1: A Good First Program

    在windows上安装完Python环境后,开始按照<笨办法学Python>书上介绍的章节进行练习. 习题 1: 第一个程序 第一天主要是介绍了Python中输出函数print的使用方法, ...

  8. 笨办法学 Python (Learn Python The Hard Way)

    最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注 ...

  9. 笨办法学 Python (第三版)(转载)

    笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html   摘自https://learn-python ...

随机推荐

  1. 洛谷P1087--FBI树(二叉树)

    题目描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串. FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三 ...

  2. 用 GetEnvironmentVariable 获取常用系统环境变量

    以前曾用 GetWindowsDirectory.GetSystemDirectory.GetTempPath 等函数获取系统常用文件夹; 也用过 SHGetSpecialFolderLocation ...

  3. LOJ 2552 「CTSC2018」假面——DP

    题目:https://loj.ac/problem/2552 70 分就是 f[i][j] 表示第 i 个人血量为 j 的概率.这部分是 O( n*Q ) 的:g[i][j][0/1] 表示询问的人中 ...

  4. 用define 宏定义注释符号

    上面对define 的使用都很简单,再看看下面的例子:#define BSC //#define BMC /*#define EMC */D),BSC my single-line commentE) ...

  5. Redis入门很简单之一【简介与环境搭建】

    Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件  [Redis简介] <一>. NoSQL ...

  6. PHP-文件和目录操作

    目录操作 创建目录:mkdir(目录地址, 权限, 是否递归创建 = false); 删除目录:rmdir(目录地址);(仅仅可以删除空目录,不支持递归删除) 移动(改名):rename(旧地址, 新 ...

  7. 大数据学习笔记之Hadoop(一):Hadoop入门

    文章目录 大数据概论 一.大数据概念 二.大数据的特点 三.大数据能干啥? 四.大数据发展前景 五.企业数据部的业务流程分析 六.企业数据部的一般组织结构 Hadoop(入门) 一 从Hadoop框架 ...

  8. PHP的安装配置

    一.安装 PHP的安装可以很简单的使用yum命令进行安装. #添加php7.0源(这是centos7的命令,centos6.5的命令不同,不要照搬)rpm -Uvh https://dl.fedora ...

  9. js的内部特性--属性

    使用方法:通过调用Object.defineProperty(对象,"对象属性",{}进行的操作}) 当对一个对象的属性的属性类型中vlue设置为一个值时,则这个对象的这个属性的值 ...

  10. vue-cli3.0打包完自动压缩zip

    打包是我们常见的操作 一般打包完还需要压缩丢到服务器解压 首先 我们需要一个 filemanager-webpack-plugin npm i filemanager-webpack-plugin - ...