关于不可变类型的变量说明:
>>> #字符串是不可变类型的变量:是指说对应的内存值是不变得,只是指针指向变了 >>> 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}
Comments | NOTHING