python基础语法:
- list[] :python内置的一种数据类型,是一个有序的集合。其中的数据类型可以使字符串、整数、浮点数、布尔值,甚至是另一个list
>>> classmates = ['a','b','c']
>>> classmates
['a', 'b', 'c']
len()查看list内的元素个数
>>> len(classmates)
3
append()在列表末尾添加元素
>>> classmates.append('d')
>>> classmates
['a', 'b', 'c', 'd']
insert(i,‘’)在指定位置添加元素
>>> classmates.insert(1,'S')
>>> classmates
['a', 'S', 'b', 'c', 'd']
pop(i)删除指定位置的元素并获取
>>> classmates.pop(1)
'S'
pop()默认删除最后一个元素并获取之
>>> classmates.pop()
'd'
索引:list[i-1]
>>> classmates[-1]
'c'
>>> classmates[1]
'b'
赋值:list[i] = …
>>> classmates[1] = 'S'
>>> classmates
['a', 'S', 'c']
- tuple()元组:
tuple也是一个python的内置数据类型,也是一个有序集合,但是其中的元素不可变,可以被索引但是不能被赋值替代。所以tuple更安全,建议尽量用tuple代替list(出于安全考虑的话)
一、tuple的编写:
>>> #零元组
>>> a = ()
>>> a
()``
元组里只有一个元素,不能漏加逗号,否则会被识别为整数1
>>> b =(1,)
>>> b
(1,)
多个元素的元组:
>>> t = (3,4,5)
>>> t
(3, 4, 5)
二、元组的"指向不变":
>>> t = ('a','b',['c','d'])
>>> t
('a', 'b', ['c', 'd'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
list可以改变,这是因为list的内容是可以改变的,但是tuple不可以,str依旧是str,list依旧是list。
- dict{} 字典
dict是与list类似的内置数据类型,但是它有一套key:value类型的编写格式,这样我们可以通过寻找key值来寻找value,注意key必须是不可变数据类型,如字符串和整数,不能是内容可变的list:
>>> d = {'Machile':92,'Mikcy':85, 'Jack':60}
>>> d
{'Machile': 92, 'Mikcy': 85, 'Jack': 60}
>>> d['Machile']
92
>>> d['Jack']
60
小结:
[ ]——list
()——tuple
{}____dict
#把数据放入dict的方法,除了初始化时指定外,还可以通过key放入:
>>> d['Adam'] = 70
>>> d
{'Machile': 92, 'Mikcy': 85, 'Jack': 60, 'Micky': 70, 'Adam': 70}
#由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:
>>> d['Adam'] = 60
>>> d['Adam']
60
>>> d
{'Machile': 92, 'Mikcy': 85, 'Jack': 60, 'Micky': 70, 'Adam': 60}
三、如何判断key存在:
A. in:
>>> 'Thomas' in d
False
B. get()函数:如果key不存在,可以返回None,或者自己指定的value
>>> d.get('Thomas')
>>> d.get('Thomas',-100)
-100
四、删除key和value:
要删除一个key,用pop(key)方法,对应的value也会从dict中删除:
>>> d.pop('Mikcy')
85
>>> d
{'Machile': 92, 'Jack': 60, 'Micky': 52, 'Adam': 60}
现在来看看放入list,tuple后的效果
>>> s = (1,2,3)
>>> d[s] = 'a tuple'
>>> d
{'Machile': 92, 'Jack': 60, 'Micky': 52, 'Adam': 60, (1, 2, 3): 'a tuple'}
tuple作为不可变数据,可以作为key
>>> s = (1,[2,3])
>>> d[s] = 'a list'
Traceback (most recent call last):
File "<pyshell#71>", line 1, in <module>
d[s] = 'a list'
TypeError: unhashable type: 'list'
list不能放进来
- set
set与dict相似,但是其中没有value值,也没有重复的key,
一、创建一个set:
要创建一个set,需要提供一个list作为输入集合:
>>> s = set([1,2,3])
>>> s
{1, 2, 3}
>>> s = set([2,1,3])
>>> s
{1, 2, 3}
>>> s = set([1,1,3,2])
>>> s
{1, 2, 3}
>>> s= set(['a','b','c'])
>>> s
{'c', 'a', 'b'}
简单的set:传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是显示这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的。
二、添加和删除key:
add():
remove():
重复元素被会自动过滤
>>> s = set([1,2,3])
>>> s
{1, 2, 3}
>>> s.add(4)
>>> s
{1, 2, 3, 4}
>>> s.remove(1)
>>> s
{2, 3, 4}
三、set的用途:
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
>>> a = set([3,4,5])
>>> s&a
{3, 4}
>>> s | a
{2, 3, 4, 5}
>>> s -a # 差
{2}