python 入门(一)

1.定义字符串
字符串可以用”或者”“括起来表示。

-如果字符串本身包含’,比如要表示字符串 I’m OK ,这时,可以用” “括起来表示:”I’m OK”
- 类似的,如果字符串包含”,我们就可以用’ ‘括起来表示:’Learn “Python” in imooc’。
- 如果字符串既包含’又包含”,这个时候,就需要对字符串的某些特殊字符进行“转义”,Python字符串用\进行转义。
要表示字符串 Bob said “I’m OK”.由于 ’ 和 ” 会引起歧义,因此,我们在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为’Bob said \”I\’m OK\”.’
\n 表示换行
\t 表示一个制表符
\ 表示 \ 字符本身
2.Unicode字符串
如果脚本中含有中文,在脚本的第一行或第二行加上(其中一个,第三个用的较多)
- #coding=utf-8
- #coding:utf-8
- # -- coding: utf-8 --
3.布尔类型
布尔类型只有True和False两种值,布尔类型有以下几种运算:
- 与运算(and):只有两个布尔值都为 True 时,计算结果才为 True。
- 或运算(or):只要有一个布尔值为 True,计算结果就是 True。
- 非运算(not):把True变为False,或者把False变为True
Python把0、空字符串”和None看成 False,其他数值和非空字符串都看成 True.
and 和 or 运算的一条重要法则:短路计算,
1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
4.list集合
如: L = [‘Adam’, ‘Lisa’, ‘Bart’]
list索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。

>>> print L[0]
Adam

倒序从-1开始:

>>> print L[-1]
Bart

添加新元素
1.用 list 的 append() 方法,追加到 list 的末尾

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.append('Paul')
>>> print L
['Adam', 'Lisa', 'Bart', 'Paul']

append()总是把新的元素添加到 list 的尾部。
2.用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素。

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.insert(0, 'Paul')
>>> print L
['Paul', 'Adam', 'Lisa', 'Bart']

删除元素
1.用list的pop()方法删除,pop()方法总是删掉list的最后一个元素,并且它还返回这个元素。

>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> L.pop()
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']

2.按索引删除。

>>>L = ['Adam', 'Lisa', 'Paul', 'Bart']
>>> L.pop(2)
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']

替换元素

>>> L = ['Adam', 'Lisa', 'Bart']
>>> L[2] = 'Paul'
>>> print L
L = ['Adam', 'Lisa', 'Paul']

也可以用倒序的索引

>>> L[-1] = 'Paul'

5.tuple元组
tuple一旦创建完毕,就不能修改了

 t = ('Adam', 'Lisa', 'Bart')

单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:

>>> t = (1,)
>>> print t
(1,)

6.dict键值集合
花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}

由于dict也是集合,len() 函数可以计算任意集合的大小。

>>> len(d)
3

获取dict中的值:
1.可以简单地使用 d[key] 的形式来查找对应的 value

if 'Paul' in d:
    print d['Paul']

2.是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None

>>> print d.get('Bart')
59

dict的特点:
1.查找速度快
无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
由于dict是按 key 查找,所以,在一个dict中,key不能重复。
2.存储的key-value序对是没有顺序的!
3.作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
更新dict:

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
>>> d['Paul'] = 72

如果key不存在则添加,如果 key 已经存在,则赋值会用新的 value 替换掉原来的 value。
遍历dict
由于dict也是一个集合,所以,遍历dict和遍历list类似,都可以通过 for 循环实现。

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for key in d:
    print key,':',d.get(key)

7.set集合
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。

 s = set(['A', 'B', 'C'])

set内部存储的元素是无序的。
因为set不能包含重复的元素,所以,当我们传入包含重复元素的 list 会怎么样呢?

>>> s = set(['A', 'B', 'C', 'C'])
>>> print s
set(['A', 'C', 'B'])
>>> len(s)
3

结果显示,set会自动去掉重复的元素,原来的list有4个元素,但set只有3个元素。
可以用 in 操作符判断一个元素是否在set中:

 s = set(['Adam', 'Lisa', 'Bart', 'Paul'])
 >>> 'Bart' in s
True
>>> 'Bill' in s
False

set的特点:

1.set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
2.set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
3.set存储的元素也是没有顺序的。
由于 set 也是一个集合,所以,遍历 set 和遍历 list 类似,都可以通过 for 循环实现。
更新set
由于set存储的是一组不重复的无序元素,因此,更新set主要做两件事:
一是把新的元素添加到set中
二是把已有元素从set中删除
添加元素时,用set的add()方法:

>>> s = set([1, 2, 3])
>>> s.add(4)
>>> print s
set([1, 2, 3, 4])

如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了。
删除set中的元素时,用set的remove()方法:

>>> s = set([1, 2, 3, 4])
>>> s.remove(4)
>>> print s
set([1, 2, 3])

如果删除的元素不存在set中,remove()会报错。

你可能感兴趣的:(python,list,set,dict,Tuple)