笨办法学Python记录--习题38-40,复习前面,运用list操作函数
#习题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操作函数的更多相关文章
- 笨办法学Python记录--习题18 变量 函数 help的由来;if语句,循环和列表,冒泡排序,判断输入字符串的方法
20140414 记录 习题17 - 33 函数可以做3件事: 1. 给代码片段命名,,就跟“变量”给字符串和数字命名一样. 2. 可以接受参数,就跟你的脚本接受argv 一样. 3. 通过使用#1 ...
- 笨办法学Python记录--习题37 异常,lambda,yield,转义序列
习题中提到了raise,查了下,顺便所有异常类关键字罗列如下文章中: 为什么使用异常 错误处理.事件通知.特殊情况处理.退出时的行为.不正常的程序流程. 简单的示例 在没有任何定义x变量的时候: pr ...
- 笨办法学Python记录--习题1-11
20140412(习题1-10),和打印较劲: 1. 读这本书时没有按照要求安装Python2,我选择的是最新版3.4.0(官方release),然后悲剧发现完全不兼容,现在摘录2,3区别: 这个星期 ...
- 笨办法学Python记录--习题15-17 开始读写文件啦
习题15 - 17 打开并读流程: from sys import argv script,filename = argv txt = open(filename) print "Here' ...
- 笨办法学Python记录--习题12-14 主要是pydoc用法,raw_input,argv
20140413 -- 习题12 - 14 1. pydoc在windows的用法,必须进入到python安装目录,执行Python -m pydoc raw_input; 网上给出了一个好玩的,不过 ...
- 【笨办法学Python】习题11:打印出改变了的输入
print "How old are you?", age = raw_input() print "How tall are you?", height = ...
- 笨办法学Python - 习题1: A Good First Program
在windows上安装完Python环境后,开始按照<笨办法学Python>书上介绍的章节进行练习. 习题 1: 第一个程序 第一天主要是介绍了Python中输出函数print的使用方法, ...
- 笨办法学 Python (Learn Python The Hard Way)
最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注 ...
- 笨办法学 Python (第三版)(转载)
笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html 摘自https://learn-python ...
随机推荐
- BlueStore-先进的用户态文件系统《二》-BlueFS
https://zhuanlan.zhihu.com/p/46362124 简介 上一篇文章中,介绍了BlueStore的诞生背景.逻辑架构以及设计思想,提到了在BlueStore中元数据都是存放在R ...
- UNP学习第七章
一.套接口选项 函数getsockopt和setsockopt 函数fcntl 函数ioctl 二.getsockopt和setsockopt函数 #include <sys/socket.h& ...
- 获取FileSystem
/** * 根据配置文件获取HDFS操作对象 * 有两种方法: * 1.使用conf直接从本地获取配置文件创建HDFS对象 * 2.多用于本地没有hadoop系统,但是可以远程访问.使用给定的URI和 ...
- textAppearance的属性设置
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?a ...
- bzoj 3881 [Coci2015]Divljak——LCT维护parent树链并
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3881 对 S 建 SAM ,每个 T 会让 S 的 parent 树的链并答案+1:在 T ...
- 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】03、创建RESTful API,并统一处理返回值
本节应用Spring对RESTful的支持,使用了如@RestController等注解实现RESTful控制器. 如果对Spring中的RESTful不太明白,请查看相关书籍 1.创建一个数据对象, ...
- HTML-参考手册: HTML 全局属性
ylbtech-HTML-参考手册: HTML 全局属性 1.返回顶部 1. HTML 全局属性 New : HTML5 新属性. 属性 描述 accesskey 设置访问元素的键盘快捷键. clas ...
- mysql添加制定ip访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'120.244.114.45' IDENTIFIED BY 'Zhh722@7758521' WITH GRANT OPT ...
- 编译Android系统源码和内核源码
[日期:2016-01-11] 来源:Linux社区 作者:jiangwei [字体:大 中 小] 把我之前编译Android系统源码和内核源码的过程记录一下,因为这个过程真的是受益匪浅,看 ...
- ORA-13639: The CURRENT operation was interrupted because it timed OUT
该错误是由于SQL Tune Job执行超时导致,默认“Time Limit"是3600秒,即一个小时.DECLARE l_sql_tune_task_id CLOB; BEGIN ...