为了账号安全,请及时绑定邮箱和手机立即绑定

初识Python

廖雪峰 移动开发工程师
难度入门
时长 5小时 0分
学习人数
综合评分9.43
3762人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.2 逻辑清晰
这样虽然tuple内的元素不可变了,但指向已经变了,意义就不同了,就不是本来的tuple了吧?
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
由于dict是按 key 查找,所以,在一个dict中,key不能重复。
dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样:
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
# 原来 ** 表示次方 还以为是 ^
sum = 0
x = 1
n = 1
while True:
x = 2**(n - 1)
sum += x
n += 1
if n > 20:
break
print sum
在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:
a = True
print a and 'a=T' or 'a=F'
计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?
因为Python把0、空字符串''和None看成 False,其他数值和非空字符串都看成 True,所以:
True and 'a=T' 计算结果是 'a=T'
继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'
要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。
# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print u'''静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
t=('a','b',('A', 'B'))
print t
# 法2:
def generate_tr(name, score):
if score < 60:
return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
else:
return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
tds = [generate_tr(name,score) for name, score in d.iteritems()]
# 法1:直接逐行输出dict
d={'Lisa':85,'Adam':95,'Bart':59}
print '<table border="1">'
print '<tr><th>Name</th><th>Score</th></tr>'
print '<tr><td>Lisa</td><td>85</td></tr>'
print '<tr><td>Adam</td><td>95</td></tr>'
print '<tr><td>Bart</td><td style="color:red">59</td></tr>'
print '</table>'
# -*- coding:UTF-8 -*-

#语句说明
#<table>和</tableb> 开始/结束创建表格
#<table border="0">和<table border="1"> 表格没有/有表框
#<tr>和</tr> 开始一行、结束该行 (table row:tr)
#<th>和</th> 创建单元格,单元格类型为表头 (table head:th)
#<td>和</td> 创建单元格,单元格类型为数据 (table data:td)
注意这里加u反而报错,不加u就好了:
print u'''静夜思
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。'''
这节突然看不懂了
输入print 'Hello,world.'不对,得输入print ('Hello,world.'),这可能是3跟2区别,还是建议大家学3
print [100*a+10*b+c for a in range(1,10) for b in range(0,10) for c in range(1,10) if a==c]
def toUppers(L):
return [x.upper() for x in L if isinstance(x,str)]

print toUppers(['Hello', 'world', 101])
课程须知
如果您了解程序设计的基本概念,会简单使用命令行,了解中学数学函数的概念,那么对课程学习会有很大的帮助,让您学起来得心应手,快速进入Python世界。
老师告诉你能学到什么?
通过本课程的学习,您将学会搭建基本的Python开发环境,以函数为基础编写完整的Python代码,熟练掌握Python的基本数据类型以及list和dict的操作。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消