python入门总结

总结一下部分内容:

一、数据结构

1)序列:列表[]可修改、元祖()不可修改、字符串(是一个字符组成的序列)

1、分片:a[开始 : 结束 : 步长]

>>>num=[0,1,2,3,4,5,6,7,8,9]

>>>num[3:6]

原样复制:y=num[:]

[3,4,5]

2、序列相加(即连接):相同类型才行

>>>[1,2,3] + [4,5,6]

[1,2,3,4,5,6]

>>>[1,2,3] + 'world'报错

3、乘法:数字a乘序列,即序列重复a次

>>> 'ab' * 3

'ababab'

>>>[0]*2

[0,0]

注:初始化一个长度为10的列表:用None

>>>seq=[None] * 10

4、成员资格:检查某个值是否在序列中,用in

>>>per='qwer'

>>>'w' in per

True

5、内建函数:序列的 len、min、max

6、计数方式 从左边:0,1,2...  从右边:-1,-2,-3...

 

2)列表list:可以修改

列表操作:

1、元素赋值:索引标记特定位置元素

>>>x = [1 , 1 , 1 ]

>>>x[1] = 2

>>>x

[ 1 , 2 , 1 ]

2、删除元素:del语句,也可用于字典和其他

>>>del x[1]

>>>x

[ 1 , 1 ]

3、分片赋值

>>>name = list( ' perl ' )

>>>name

[ 'p' , 'e' , 'r' , 'l' ]

>>>name[2:] = list( 'ar' )

>>>name

[ 'p' , 'e' , 'a' , 'r' ]

注:也可通过分片来插入元素

>>>num = [1,4]

>>>num[1:1]=[2,3]

>>>num

[1,2,3,4]

还可通过分片删除元素

>>>num[1 , 3]=[]

>>>num

[1 , 4]

4、list函数:由字符串创建列表,也适用于其他序列

>>>list( 'hello' )

[ 'h' , 'e' , 'l' , 'l' , 'o' ]

 

列表方法:

1、append:列表末尾(即特定位置)追加新对象,注意是直接修改原来的列表(而非返回一个修改过的新列表)

>>>lst = [1,2,3]

>>>lst.append(4)

>>>lst

[1,2,3,4]

2、count:统计元素在列表中出现的个数

>>>x = [[1 , 2] , 1 , 1 , [2 , 1 , [1 , 2]]]

>>>x.count(1)

2

>>>x.count([1 , 2])

1

3、extend:用新列表扩展原有列表,即修改了被扩展序列

>>>a=[1,2,3]

>>>b=[4,5,6]

>>>a.extend(b)

>>>a

[1,2,3,4,5,6]

不同于 连接 操作:返回一个全新列表

>>>a=[1,2,3]

>>>b=[4,5,6]

>>>a + b

[1,2,3,4,5,6]

>>>a

[1,2,3]

4、index:找到第一个匹配的索引位置

index:对象插入列表

pop:列表中移除一个元素,再返回他;可指定某个,默认移除最后一个

remove:移除列表中的第一个匹配项

reverse:列表元素反向存放

sort:排序,改变的是原列表,返回值为空值

 

3)元祖():不可变

1、创建:逗号或圆括号隔开即可,注意只有一个值也要加逗号

>>>1,2,3

(1 , 2 , 3)

>>>(1 , 2 , 3)

(1 , 2 , 3)

>>>4 , 

(4 , )

2、tuple函数:类似list,把序列参数转换成元祖

>>>tuple( 'abc' )

('a' , 'b' , 'c')

3、元祖基本操作:创建、访问、分片

>>>x = 1,2,3

>>>x[1]

2

>>>x[0:2]

(1 , 2)

 

 

4)字符串:不可变

字符串格式化简版,一般用元祖

>>>format = "hello ,%s . %s enough!"

>>>value =('world' , 'hot')

>>>print format % value

hello ,world . hot enough!

......

 

字符串方法;

1、find:在一个字符串中查找字串,返回最左端索引

2、join:连接序列元素,被连接的必须都要是字符串

>>>seq = ['1' , '2' , '3' , '4']

>>>seee='+'

>>>seee.join(' seq ')

'1+2+3+4+5'

 

>>>dirs= '' , 'usr' , 'bin' , 'env'

>>>'/'.join(dirs)

'/usr/bin/env'

3、.lower()返回字符串小写字母版本

.replace(a,b)把其中的a字符串用b代替

4、.splite()是join的逆方法

......

 

5)字典:映射结构(当索引不好用时着重考虑),键-值对

其中,键可以是数字、字符串、甚至元祖

1、创建:

直接创建

phonebook = {'aaa' : '1234' , 'bbb' : '1244' }

函数创建:dict函数

>>>item = [('name' , 'aaa') , ('age' , 42)]

>>>d = dict(item)

>>>d

{'age' : 42 , 'name' : 'aaa'}

>>>d['name']

'aaa'

或通过函数参数来创建

>>>d=dict(name='aaa' , age=42)

>>>d

{'age' : 42 , 'name' : 'aaa'}

2、基本操作:

len(d)键值对数量

d[k] 键k上对应的值

d[k]=v 赋值,将值v与键k关联

del d[k] 删除键为k的项

k in d 检查d中是否有键为k的项,注意查找的是键(区别 v in l ,l为列表查找的是列表的值,而不是索引)

3、强大优点:1 键可以是任意不可变类型;2 可以直接关联

>>>x= []

>>>x[42] = 'happy' 报错,必须要初始化x形如 [None] * 43 初始化x才行

而字典就可以:

>>>x={}

>>>x[42] = 'happy'

>>>x

{42 : 'happy'}

4、字符串格式化使用

>>>phonebook

{'aaa' : '1234' , 'bbb' : '1246' , 'ccc' : '6897'}

>>>"bbb's phone number is %(bbb)s" % phonebook

"bbb's phone number is 1246"

5、方法

1)clear() 清空

2)copy() copy后,替换值原字典不会改变,但原地修改(如remove()),原始字典会改变(浅复制)

避免方法:深复制(引入函数):>>>from copy import deepcopy ...

3)fromkeys() 给定键建立新的字典

>>>{}.fromkeys(['name' , 'age'])

{'age' : None , 'name' : None}

 

4)get(),访问字典不存在项时返回None值,其他跟普通字典查询(项为空时会报错)一样

>>>d = {}

>>>print d.get('name')

None

还可用于替换值

>>>d.get('name' , 'saad')

'saad'

5、has_key() 检查是否有对应的键

>>>d = {}

>>>d.has_key('name')

false

6、items和iteritems(返回迭代器):将字典各项以列表形式返回,返回时顺序随机

keys和iterkeys(返回迭代器): 将字典中的键,以列表形式返回

>>>d={'aaa' : '1234' , 'bbb' : '4567'}

>>>d.items()

[('bbb' , '4567') , ('aaa' , '1234')]

7、pop 获得某键对应的值,并将键值对从字典移除

>>>d = {'x' : 1 ,'y' : 2}

>>>d.pop('x')

1

>>>d

{'y' : 2 }

8、popitem() 类似list.pop()(弹出最后一个元素),但是弹出随机的项,因为字典没有顺序概念

setdefault() 类似于get()方法

update() 用一个字典更新另外一个字典

values()和itervalues()(返回迭代器):返回字典中的值,以列表形式,可以重复

 

二、语句

1、导入:from  模块  import  函数

       import  函数  as  别名

2、条件语句

1)简单形式 if...else...        if...elif...else...      if中嵌套if

if A :

...

else :

...

2)is 判断同一性,是否是同一个对象

>>>x = y = z = [1,2,3]

>>>z = [1,2,3]

>>>x is y

True

>>>x is z

False

3)in 成员资格

name=raw_input('dtgabdud')

if 't' in name:

    ...

else:

   ...

4)比较 >    <

 

3、循环语句

1)while A :

        ...

2)for a in b :

        ...

3)for num in range(1,4) :

       ...

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值