关于不可变类型的变量说明:
>>> #字符串是不可变类型的变量:是指说对应的内存值是不变得,只是指针指向变了
>>> line='nihao '
>>> id(line)
140203164189392
>>> line='buhao '
>>> id(line)
140203164189488
>>> a= [1,2]
>>> b= [3,4]
>>> a + b
[1, 2, 3, 4]
>>> a.extend(b)
>>> a
[1, 2, 3, 4]
>>> b
[3, 4]
>>>
>>>
>>>
>>> a.insert(0,100)
>>> a
[100, 1, 2, 3, 4]
>>>
>>> #弹出,删除
...
>>> a.pop(0)
100
>>> a.pop()
4
>>> a
[1, 2, 3]
>>>
>>>
>>> #移除匹配第一个字符
...
>>> a.remove(2)
>>> a
[1, 3]
>>>
>>>
>>> a.remove?
File "<stdin>", line 1
a.remove?
^
SyntaxError: invalid syntax
>>>
>>> #查找是否有这个字符
...
>>> 1 in a
True
>>> 4 in a
False
>>>
>>> #末尾追加字符
...
>>> a.append(4,5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: append() takes exactly one argument (2 given)
>>> a.append(4)
>>> a.append(5)
>>>
>>> a
[1, 3, 4, 5]
>>>
>>>
>>>
元祖tuple
>>> ##元祖tuple
...
>>> var=tuple()
>>> var=()
>>> type(var)
<type 'tuple'>
>>>
>>> ##因为tuple是不可变的,所以他只有几个可用函数
...
>>> var=(1,2,1,3,4,5)
>>> var.cout(1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'tuple' object has no attribute 'cout'
>>> var.count(1)
2
>>>
>>>
>>> var.index(5)
5
>>> var.index(3)
3
>>>
字典类型
>>> ##字典类型
...
>>> var={}
>>> var=dict{}
File "<stdin>", line 1
var=dict{}
^
SyntaxError: invalid syntax
>>> var=dict()
>>> type(var)
<type 'dict'>
>>>
>>> var = {
... '中':100
... 'zuo':200
File "<stdin>", line 3
'zuo':200
^
SyntaxError: invalid syntax
>>> var = {
... '中':100,
... 'zuo':200
... }
>>> var['中']
100
>>>
>>> words = ['中','左']
>>> location = [100,200]
>>> location[words.index('中')]
100
>>>
>>>
>>> ##拉锁函数
...
>>> zip(words,location)
[('\xe4\xb8\xad', 100), ('\xe5\xb7\xa6', 200)]
>>>
>>> list(zip(words,location))
[('\xe4\xb8\xad', 100), ('\xe5\xb7\xa6', 200)]
>>>
>>> new_var = list(zip(words,location))
>>> dict(new_var)
{'\xe4\xb8\xad': 100, '\xe5\xb7\xa6': 200}
>>>
>>>
>>> ##注意一点,zip函数是要等长的,不然会删除部分
...
>>>
>>> list(zip([1,2],[3,4],[5,6]))
[(1, 3, 5), (2, 4, 6)]
>>>
>>> list(zip([1,2],[3,4,6],[5,6,6]))
[(1, 3, 5), (2, 4, 6)]
>>>
>>> list(zip([1,2,6],[3,4,6],[5,6,6]))
[(1, 3, 5), (2, 4, 6), (6, 6, 6)]
>>>
>>>
>>> list(zip([1,2,6],[3,4],[5,6,6]))
[(1, 3, 5), (2, 4, 6)]
>>>
>>>
>>>
>>> ##fromkeys
...
>>> ##fromkeys给列表赋值,生成字典
...
>>> students=['wong','li','sun','zhao','qian']
>>> dict.fromkeys(students,10)
{'qian': 10, 'sun': 10, 'zhao': 10, 'wong': 10, 'li': 10}
>>>
>>>
>>> money=dict.fromkeys(students,10)
>>> ##访问字典中的值
...
>>> money['wang']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'wang'
>>> money['wong']
10
>>>
>>> money.get('ww')
>>> money.get('ww','100')
'100'
>>> money.get('wong','100')
10
>>>
>>>
拆分字典
>>> ##拆分字典
...
>>> dick.keys()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'dick' is not defined
>>> money.keys()
['qian', 'sun', 'zhao', 'wong', 'li']
>>> money.values()
[10, 10, 10, 10, 10]
>>>
>>>
>>> money.items()
[('qian', 10), ('sun', 10), ('zhao', 10), ('wong', 10), ('li', 10)]
>>>
>>>
>>> money.pop('wong')
10
>>> money
{'qian': 10, 'sun': 10, 'zhao': 10, 'li': 10}
>>>
>>>
>>> money['nihao']=100
>>> money
{'qian': 10, 'sun': 10, 'nihao': 100, 'li': 10, 'zhao': 10}
>>>
>>> money.setdefault('haha',1000)
1000
>>>
>>> money
{'qian': 10, 'sun': 10, 'nihao': 100, 'li': 10, 'zhao': 10, 'haha': 1000}