您的位置:首页 > 编程语言 > Python开发

python基础知识总结

2016-09-18 20:27 656 查看
一. list:

1. list是python中内置的一种数据类型的列表,list 有序的集合,可以任意删除或添加,len()可以获取list元素的个数。

>>> classmates=['caoxuefen','bao','ch']
>>> len(classmates)
3


其用索引来访问每一个和C相同,都是从0开始。此外,当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界。

2.python有一个比较特别的是,如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,可以获取倒数第2个用-2、倒数第3个用-3:

>>> classmates[-1]
'ch'
>>> classmates[-3]
'caoxuefen'


3.此外出入用insert,删除尾部用pop(),删除某一个用pop(i),追加尾部append()

>>> classmates.append('siye')
>>> classmates
['caoxuefen', 'bao', 'ch', 'siye']
>>> classmates.insert(1,'jak')
>>> classmates
['caoxuefen', 'jak', 'bao', 'ch', 'siye']
>>> classmates
['caoxuefen', 'jak', 'bao', 'ch', 'siye']
>>> classmates.pop()
'siye'
>>> classmates
['caoxuefen', 'jak', 'bao', 'ch']
>>> classmates.pop(2)
'bao'
>>> classmates
['caoxuefen', 'jak', 'ch']


替换可以直接给某一个赋值即可,此外,python中list中元素的类型可以不同。

4.list元素也可以是另一个list,比如:

>>> s = ['python', 'java', ['asp', 'php'], 'scheme']
>>> len(s)
4


二.tuple

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,即不变性(其不变性主要是说他的指向不变,具体详解见廖雪峰的python课程)。其存在的意义是让代码更安全。

当只有一个tuple元素的时候:

>>> t = (1)
>>> t
1


定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

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


三.if判断语句

首先要注意python中的缩进规则,此外注意不要少了:,最后if是按照顺序执行的,如果判断一个正确,则不执行下面代码。一段代码如下

age = 20
if age >= 6:
print('teenager')
elif age >= 18:
print('adult')
else:
print('kid')
>>>
================= RESTART: F:/life/机器学习/先定一个小目标/python/if.py =================
teenager


要注意这个不能单独在shell里面去写在,需要写在.py文件中。

此外,这里还涉及到input的一些语法规则,这是因为input()返回的数据类型是str。

所以需要输入为整数的时候,还需要int()函数,一段代码如下:

s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')


四.循环

所以for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句

再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)


此外,还有一个range函数,可以产生一个list整数列,range(101)就可以生成0-100的整数序列

sum = 0
for x in range(101):
sum = sum + x
print(sum)


最后对于死循环的解决方案我们用Ctrl+C,退出程序。

五.dict

1).是一种python内置的词典,在其他语言中相当于map。

2).要避免key不存在的错误,有两种办法,一是通过in判断key是否存在。

3).要删除一个key,用pop(key)方法,对应的value也会从dict中删除。

4).和list比较,dict有以下几个特点:

查找和插入的速度极快,不会随着key的增加而变慢;

需要占用大量的内存,内存浪费多。

而list相反:

查找和插入的时间随着元素的增加而增加;

占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

5).dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象.

六.set

1).set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。重复元素在set中自动过滤。

2).通过add(key)方法可以添加元素到set中。通过remove(key)方法可以删除元素。

3).set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}


4).对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。其中使用了str为对象,调用replace()这个例子。

>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息