首页 > 代码库 > 【python】入门学习(六)
【python】入门学习(六)
type() #检查变量或值得数据类型
>>> type(5)<class ‘int‘>
序列:包括字符串、元组和列表。序列都可以用索引、切片、len()(计算元素个数)、x in s 判断s中是否包含x
元组: 不可变,如果修改需要大量的复制,即彻底重新赋值
空元组: ()
单个元素的元组: (x,) #注意一定要有‘,‘
多个元素的元组: (x, y, z) 或 (x, y, z,) #最后的‘,‘可有可无
>>> item = (6, ‘apple‘, (1,2))>>> item(6, ‘apple‘, (1, 2))>>> item[0]6>>> item[-1](1, 2)>>> item[-1][0]1>>> item = ()>>> type(item)<class ‘tuple‘>>>> item = (5)>>> type(item)<class ‘int‘>>>> item = (5,)>>> type(item)<class ‘tuple‘>
删除元组的第一个元素
>>> item = (1,2,3,4,5)>>> item2 = item[1:]>>> item = item2>>> item(2, 3, 4, 5)
元组相关函数:
x in tup #x是否在元组内
len(tup) #元组中的元素数
tup.count(x) #元素x在元组中出现的次数
tup.index(x) #元组中第一个x的索引,如没有则出错
+、* #拼接
>>> item(2, 3, 4, 5)>>> item*2(2, 3, 4, 5, 2, 3, 4, 5)>>> item + (1,2,3)(2, 3, 4, 5, 1, 2, 3)
列表:可以改变,用[]括起,单元素的末尾不一定要‘,‘
>>> numbers = [1,2,3,4,5,6,7]>>> numbers[1, 2, 3, 4, 5, 6, 7]>>> type(numbers)<class ‘list‘>>>> numbers * 2[1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7]>>> numbers[1:][2, 3, 4, 5, 6, 7]>>> numbers[-3:][5, 6, 7]>>> numbers[0]=100>>> numbers[100, 2, 3, 4, 5, 6, 7]
列表元素指向相应的值,而不是包含。用自引用说明:
>>> numbers[100, 2, 3, 4, 5, 6, 7]>>> numbers[0] = numbers>>> numbers[[...], 2, 3, 4, 5, 6, 7]
列表的相关函数:
s.append(x) #在列表s末尾添加元素x
#numnote.pydef numnote(lst): msg = [] for num in lst: if num < 0: s = str(num) + ‘is negative‘ elif 0 <= num <= 9: s = str(num) + ‘is digit‘ else: break msg.append(s) return msg
>>> import numnote>>> numnote.numnote([1,-1,2,22])[‘1is digit‘, ‘-1is negative‘, ‘2is digit‘]
若要逐行打印
>>> for msg in numnote([1,2,3,10]): print(msg)1is digit2is digit3is digit>>> print(‘\n‘.join(numnote([1,2,3,10])))1is digit2is digit3is digit
s.extend() #在末尾添加一个序列
>>> lst = []>>> lst.extend(‘cat‘)>>> lst[‘c‘, ‘a‘, ‘t‘]
s.pop(i) #删除并返回索引为i的元素,默认删除最后一个
>>> lst[‘c‘, ‘a‘, ‘t‘]>>> lst.pop()‘t‘>>> lst.pop(0)‘c‘>>> lst[‘a‘]
s.remove(x) #删除s中的第一个x元素,但不返回值
>>> lst[‘a‘, ‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘, ‘,‘, ‘e‘, ‘v‘, ‘e‘, ‘r‘, ‘y‘, ‘o‘, ‘n‘, ‘e‘]>>> lst.remove(‘e‘)>>> lst[‘a‘, ‘h‘, ‘l‘, ‘l‘, ‘o‘, ‘,‘, ‘e‘, ‘v‘, ‘e‘, ‘r‘, ‘y‘, ‘o‘, ‘n‘, ‘e‘]
s.reverse() #反转列表元素
>>> lst[‘a‘, ‘h‘, ‘l‘, ‘l‘, ‘o‘, ‘,‘, ‘e‘, ‘v‘, ‘e‘, ‘r‘, ‘y‘, ‘o‘, ‘n‘, ‘e‘]>>> lst.reverse()>>> lst[‘e‘, ‘n‘, ‘o‘, ‘y‘, ‘r‘, ‘e‘, ‘v‘, ‘e‘, ‘,‘, ‘o‘, ‘l‘, ‘l‘, ‘h‘, ‘a‘]
s.sort() #对元素排序 从小到大 要从大到小排序在调用一次reverse就可以了 也可以对列表中的元组排序
>>> lst[‘e‘, ‘n‘, ‘o‘, ‘y‘, ‘r‘, ‘e‘, ‘v‘, ‘e‘, ‘,‘, ‘o‘, ‘l‘, ‘l‘, ‘h‘, ‘a‘]>>> lst.sort()>>> lst[‘,‘, ‘a‘, ‘e‘, ‘e‘, ‘e‘, ‘h‘, ‘l‘, ‘l‘, ‘n‘, ‘o‘, ‘o‘, ‘r‘, ‘v‘, ‘y‘]>>> lst.reverse()>>> lst[‘y‘, ‘v‘, ‘r‘, ‘o‘, ‘o‘, ‘n‘, ‘l‘, ‘l‘, ‘h‘, ‘e‘, ‘e‘, ‘e‘, ‘a‘, ‘,‘]
>>> lst = [(1,2),(1,-1),(2,)]>>> lst[(1, 2), (1, -1), (2,)]>>> lst.sort()>>> lst[(1, -1), (1, 2), (2,)]
列表解析:用于快速创建列表
>>> [n*n for n in range(1,11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>> [n*n for n in range(1,11)][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]>>> [2*n**3+4 for n in range(1,11)][6, 20, 58, 132, 254, 436, 690, 1028, 1462, 2004]>>> [c for c in ‘pizza‘][‘p‘, ‘i‘, ‘z‘, ‘z‘, ‘a‘]>>> [c.upper() for c in ‘pizza‘][‘P‘, ‘I‘, ‘Z‘, ‘Z‘, ‘A‘]
使用解析进行筛选:
>>> nums = [-1,0,6,-4,2,5]>>> result = [n for n in nums if n > 0]>>> result[6, 2, 5]
删掉元音
>>> ‘‘.join([c for c in ‘Apple‘ if c.lower() not in ‘aeiou‘])‘ppl‘
不要方括号也可以,将得到生成器表达式
>>> ‘‘.join(c for c in ‘Apple‘ if c.lower() not in ‘aeiou‘)‘ppl‘
字典:也称关联数组、映射或散列表 用{}表示
可以利用键来访问值,键不可重复不可修改 下面的‘red‘就是键,2是值
>>> color = {‘red‘:2, ‘blue‘:1, ‘green‘:3}>>> color[‘red‘]2>>> color[‘blue‘]=0>>> color{‘green‘: 3, ‘blue‘: 0, ‘red‘: 2}
相关函数
items 、 keys、 values、 get、pop、 popitem、 clear、 copy 、fromkeys 、setdefault、 update
#视图
>>> k = color.keys()>>> for i in k:print(i)greenbluered
集合:只包含键,没有相关联的值
删除列表中重复的元素
>>> lst = [1,1,2,2,3,3,3]>>> lst[1, 1, 2, 2, 3, 3, 3]>>> s = set(lst)>>> s{1, 2, 3}
【python】入门学习(六)