python学习笔记1——(廖雪峰教程,菜鸟教程)python基础

python学习笔记1——(廖雪峰教程,菜鸟教程)

https://www.liaoxuefeng.com(https://www.liaoxuefeng.com)
阿修视频

.Python基础(复习)
1.list
list是一种有序的集合,可以随时添加和删除其中的元素。list里面的元素的数据类型可以不同,ist元素也可以是另一个list

>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> len(classmates)
3

用索引来访问list中每一个位置的元素,记得索引是从0开始的:

>>> classmates[0]

来访问最后一个元素


```c
classmates[-1]

list是一个可变的有序表,所以,可以往list中追加元素到末尾:

```c
>> classmates.append('Adam')

也可以把元素插入到指定的位置,比如索引号为1的位置:

>>> classmates.insert(1, 'Jack')

要删除list末尾的元素,用pop()方法:

>>> classmates.pop()

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> classmates.pop(1)

2.Tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:

>>> classmates = ('Michael', 'Bob', 'Tracy')

现在,classmates这个tuple不能变了,(指向不变)它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。
最后来看一个“可变的”tuple:

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
3 . input()
input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。

s = input('birth: ')
birth = int(s)
4.if 语句
if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

5.循环
第一种:利用for in 来遍历列表或者元组

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

遍历一串数字:

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
for x in range(101):

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。
6.Dict(键值对)
如果想让每个人的名字和成绩,使用列表可以使用以下方式:

>>> names=['michael','Bob','Tracy']
>>> scores = [95,75,85]
>>> scores[names.index('Tracy')]
85

cores是列表类型,写完scores.会出来列表的功能,其中index表示查找某个元素的序号,如果用字典表示:

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

放入数据:>>> d['Adam'] = 67
查找是否有数据:>>> print(d.get('Tomas')) None
(注意这里直接写d.get(‘Tomas’)不会输出,因为d.get(‘Tomas’)输出的格式为NONETYPE)
删除key:>>> d.pop('Bob') 75
添加key:

>>> d={'Michael':95,'Bob':75,'Trancy':85,'Tomas':77}
>>> d['Kiko']="45"
>>> d
{'Michael': 95, 'Bob': 75, 'Trancy': 85, 'Tomas': 77, 'Kiko': '45'}

访问key:>>> d[‘Kiko’] ‘45’
清空dict:d.clear()
打印所有值:print (“字典值 : %s” % dict.items())
遍历字典列表

for key,values in  dict.items():
    print key,values

dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,需要牢记的第一条就是dict的key必须是不可变对象(例如字符串,整数,元组),值可以是列表,数字,字符串,元组等。

这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
7.SET
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

注意,传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。。

重复元素在set中自动被过滤
添加元素:s.add(4),
删除元素: s.remove(4)
交集:s1&s2
并集:s1|s2
建立一个空的集合:
如果用s={}建立的是一个字典,而是使用s=set{}
8. 不可变对象

>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a
'abc'

虽然字符串有个replace()方法,也确实变出了’Abc’,但变量a最后仍是’abc’,应该怎么理解呢?
我们先把代码改成下面这样:

>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc'

要始终牢记的是,a是变量,而’abc’才是字符串对象!有些时候,我们经常说,对象a的内容是’abc’,但其实是指,a本身是一个变量,它指向的对象的内容才是’abc’:
当我们调用a.replace(‘a’, ‘A’)时,实际上调用方法replace是作用在字符串对象’abc’上的,而这个方法虽然名字叫replace,但却没有改变字符串’abc’的内容。相反,replace方法创建了一个新字符串’Abc’并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串’abc’,但变量b却指向新字符串’Abc’了:
┌───┐ ┌───────┐
│ a │──────────>│ ‘abc’ │
└───┘ └───────┘
┌───┐ ┌───────┐
│ b │─────────>│ ‘Abc’ │
└───┘ └───────┘

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值