码迷,mamicode.com
首页 > 编程语言 > 详细

python基础一

时间:2016-06-05 01:18:46      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:python 列表 字典 迭代器 列表解析

1、关于unicode:由于python2.x发布在unicode出现以前,因此python2.x版本不能很好的支持中文,需要在脚本文件的第二行注明  #coding: utf-8


2、关于python运算符:基本与其他语言的运算符保持一致,如基本的 + - * / ,

需要注意的是:

** 表示乘方,

// 表示整数除法,而

/ 则表示浮点数除法,如:8.0 / 2 = 4.0, 8.0 // 2 = 4

^ 符号表示异或,多用于对于文件或者目录权限的判断,例如假设某文件的权限为655,则通过与000异或便能得出该文件所具有的权限。


3、python基本的数据结构


(1) list(序列):序列是可变、可迭代、可哈希的


In [1]: list.

list.append   list.count    list.extend   list.index    list.insert   list.pop      list.remove   list.reverse  list.sort         


In [1]: li = [1,2,3,4,5]


In [2]: li

Out[2]: [1, 2, 3, 4, 5]


!!! In [3]: li.append(6)


In [4]: li

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


In [5]: li.append(6)


In [6]: li

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



li.count(6) = 2

In [8]: li1 = [7,8,9]


!!! In [9]: li.extend(li1)


In [10]: li

Out[10]: [1, 2, 3, 4, 5, 6, 6, 7, 8, 9]


In [11]: li.index(6)

Out[11]: 5


In [12]: li.index(1)

Out[12]: 0


In [13]: li.insert(len(li),100)


In [14]: li

Out[14]: [1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 100


!!! In [15]: li.pop()

Out[15]: 100


In [16]: li

Out[16]: [1, 2, 3, 4, 5, 6, 6, 7, 8, 9]


!!! In [17]: li.pop(3)

Out[17]: 4


In [18]: li

Out[18]: [1, 2, 3, 5, 6, 6, 7, 8, 9]


!!! In [19]: li.remove(2)


In [20]: li

Out[20]: [1, 3, 5, 6, 6, 7, 8, 9]


!!! In [21]: li.reverse()


In [22]: li

Out[22]: [9, 8, 7, 6, 6, 5, 3, 1]


!!! In [23]: li.sort()


In [24]: li

Out[24]: [1, 3, 5, 6, 6, 7, 8, 9]

[注]:对于列表的复制操作需要用到切片,如li1 = li[:]

(2) tuple(元组):元组是不可变、不可迭代、可哈希的

tup1 = (‘a‘,‘b‘,‘c‘)

!!! 当元组中只有一个元素时需要加逗号以示区分 tup1 = (‘a‘,)

tup1[0] ==> ‘a‘

tup1[1:2] ==> (‘b‘,)

cmp(tuple1, tuple2):比较两个元组元素。
len(tuple):计算元组元素个数。
max(tuple):返回元组中元素最大值。
min(tuple):返回元组中元素最小值。
tuple(seq):将列表转换为元组。

(3) set(集合):集合的元素是不重复的,元素可以是元素但不能是列表

In [31]: s = set()


In [32]: s.

s.add    s.difference    s.intersection       s.issubset    s.remove       s.union    s.clears    s.difference_update    s.intersection_update       s.issuperset             s.symmetric_difference   s.update

s.copy     s.discard      s.isdisjoint         s.pop                     s.symmetric_difference_update

(4) dict(字典):

In [32]: dict.

dict.clear       dict.fromkeys    dict.has_key     dict.iteritems   dict.itervalues dict.pop         dict.setdefault   dict.values      dict.viewkeys    

dict.copy        dict.get        dict.items       dict.iterkeys    dict.keys dict.popitem      dict.update      dict.viewitems    dict.viewvalues


4、迭代器和列表解析

可将一个可迭代的对象转换为迭代器类型,使用迭代器可以极大地提升代码效率,节省内存。原因是:假设有10W个元素的列表,当使用for循环或者列表解析的方法来访问每个元素时,python解释器总是将10W个元素同时加载到内存中,若元素更多时,可能会使得内存被耗尽,而当使用迭代器时,迭代器每次将列表中的一个元素加载进内存进行处理,大大减轻了内存的压力,因此执行效率更高。

In [32]: li = [range(1000)]

In [40]: a = iter(li)

In [41]: a.next()

列表解析:

In [41]: li = [1,2,3,4]

In [43]: li1 = [i for i in li]

In [44]: li1

Out[44]: [1, 2, 3, 4]

In [45]: li1 = [i for i in li if i > 2]


In [46]: li1

Out[46]: [3, 4]

In [47]: li1 = [i+1 for i in li if i > 2]


In [48]: li1

Out[48]: [4, 5]


python基础一

标签:python 列表 字典 迭代器 列表解析

原文地址:http://10843840.blog.51cto.com/10833840/1786157

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!