我们始终都要远行,最终都要与稚嫩的自己告别,告别是通向成长的苦行之路。 Hello Python - week2!
- Python中的五种内建数据结构:
- 变量 name = "guanqing"
- 列表 name = ['user1','user2','user3']
- 字典 name = {'name':'guanqing','age':28}
- 文件 file.txt
- 数据库 mysql
- 列表:
-
list.append('aa') #增加。 列表尾部添加一个项目
1 >>> list = ['guanqing','wukun','lizhe','hongbing'] 2 >>> list.append('qihui') 3 >>> list 4 ['guanqing', 'wukun', 'lizhe', 'hongbing', 'qihui']
-
list.insert(2,'aa') #增加。在列表某个位置插入元素,位置从0开始计数
1 >>> list 2 ['guanqing', 'wukun', 'lizhe', 'hongbing', 'qihui'] 3 >>> list.insert(2,'eric') 4 >>> list 5 ['guanqing', 'wukun', 'eric', 'lizhe', 'hongbing', 'qihui']
-
list.extend()
1 >>> list = [1,2,4] 2 >>> list.extend([5,6,7]) #extend是把list或者元组中的元素逐个加入到list中 3 >>> list 4 [1, 2, 4, 5, 6, 7] 5 >>> list.append([8,9,0]) #append是把对象作为一个整体追加到list后面 6 >>> list 7 [1, 2, 4, 5, 6, 7, [8, 9, 0]]
- python中的max/min/len函数,顾名思义
1 >>> list2 = [5,3,78,5,89,1] 2 >>> max(list2) 3 89 4 >>> min(list2) 5 1 6 >>> len(list2) 7 6
-
列表中for循环
1 >>> list = ['3','6','7','9','1','22'] 2 >>> for line in list: 3 ... print 'Hello %s' % line 4 ... 5 Hello 3 6 Hello 6 7 Hello 7 8 Hello 9 9 Hello 1 10 Hello 22
-
列表的基本操作
1 >>> list2 = ['zhangsan','lisi','wangwu','zhaoba','lisi','wangwu','lisi'] 2 >>> list2.count('lisi') #count计数 3 3 4 >>> list2.index('zhaoba') #index位置索引 5 3 6 >>> list2[0:2] #切片查询0到2的位置 7 ['zhangsan', 'lisi'] 8 >>> list2[:] #打印当前列表的所有 9 ['zhangsan', 'lisi', 'wangwu', 'zhaoba', 'lisi', 'wangwu', 'lisi'] 10 >>> list2[1:] #打印列表位置从1到最后 11 ['lisi', 'wangwu', 'zhaoba', 'lisi', 'wangwu', 'lisi'] 12 >>> list2[0:-1] #打印位置从0到-1,不包含-1位置 13 ['zhangsan', 'lisi', 'wangwu', 'zhaoba', 'lisi', 'wangwu']
>>> list2 ['zhangsan', 'lisi', 'wangwu', 'zhaoba', 'lisi', 'wangwu', 'lisi'] >>> del list2[1] #删除列表中位置为1的元素 >>> list2 ['zhangsan', 'wangwu', 'zhaoba', 'lisi', 'wangwu', 'lisi'] >>> list2.remove('zhangsan') #删除列表中元素为‘zhangsan’ >>> list2 ['wangwu', 'zhaoba', 'lisi', 'wangwu', 'lisi'] >>> list2.pop() #删除最后一位元素,并显示出所删除的 'lisi' >>> list2 ['wangwu', 'zhaoba', 'lisi', 'wangwu'] >>> list2[0] = 'zhangsan' #更换列表中的0位置的元素,将‘wangwu’换成‘zhangsan’ >>> list2 ['zhangsan', 'zhaoba', 'lisi', 'wangwu']
-
set集合(去重)
1 >>> list = [11,22,33,44,33,22,11,55,33] 2 >>> for ip in set(i for i in list): #通过set集合进行去重list得出ip 3 ... print ip 4 ... 5 33 6 11 7 44 8 22 9 55
-
字符串和列表之间的转换
字符串.split('分隔符') #将字符串转换为列表1 >>> str = 'Jul 31 03:43:07 vwbjvutipa0882 server: 15:43:07,193 INFO' 2 >>> str2 = str.split(" ") #以空格的方式将字符串转换为列表 3 >>> str2 4 ['Jul', '31', '03:43:07', 'vwbjvutipa0882', 'server:', '15:43:07,193', '', 'INFO'] 5 >>> list = [] #定义一个新的列表 6 >>> list.append(str2[0]) #将以位置的形式将所需要的元素追加到新的列表中 7 >>> list.append(str2[3]) 8 >>> list.append(str2[4]) 9 >>> list.append(str2[5]) 10 >>> list 11 ['Jul', 'vwbjvutipa0882', 'server:', '15:43:07,193']
- “分隔符”.join(列表) #将列表转换成字符串
1 >>> list 2 ['Jul', 'vwbjvutipa0882', 'server:', '15:43:07,193'] 3 >>> str03 = ",".join(list) 4 >>> str03 5 'Jul,vwbjvutipa0882,server:,15:43:07,193'
- python中的enumerate函数
1 >>> list 2 ['Jul', 'vwbjvutipa0882', 'server:', '15:43:07,193'] 3 >>> for i,element in enumerate(list): #即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标 4 ... print "%s --> %s" %(i,element) 5 ... 6 0 --> Jul 7 1 --> vwbjvutipa0882 8 2 --> server: 9 3 --> 15:43:07,193
- 字典
-
python中字典的增删改查操作
1 >>> dict = {'username': 'guanqing', 'age': 28, 'where': 'anhui', 'job': 'engineer'} 2 >>> dict['xingqu'] = 'zuqiu' #字典的添加 3 >>> dict 4 {'username': 'guanqing', 'xingqu': 'zuqiu', 'age': 28, 'where': 'anhui', 'job': 'engineer'} 5 >>> del(dict['xingqu']) #字典中直接删除 6 >>> dict 7 {'username': 'guanqing', 'age': 28, 'where': 'anhui', 'job': 'engineer'} 8 >>> dict['age'] = 38 #字典的修改 9 >>> dict 10 {'username': 'guanqing', 'age': 38, 'where': 'anhui', 'job': 'engineer'} 11 >>> dict.pop('where') #字典的删除并显示所删除的values 12 'anhui' 13 >>> dict 14 {'username': 'guanqing', 'age': 38, 'job': 'engineer'} 15 >>> dict.clear() #字典清空操作 16 >>> dict 17 {}
1 >>> dict = {'username': 'guanqing', 'age': 28, 'where': 'anhui', 'job': 'engineer'} 2 >>> dict.keys() #字典的keys查询 3 ['username', 'age', 'where', 'job'] 4 >>> dict.values() #字典的values查询 5 ['guanqing', 28, 'anhui', 'engineer']
-
字典中调用items()实现字典的遍历
1 >>> dict 2 {'job': 'sa', 'where': 'hangzhou', 'age': '28', 'name': 'guanqing'} 3 >>> print dict.items() 4 [('job', 'sa'), ('where', 'hangzhou'), ('age', '28'), ('name', 'guanqing')] 5 >>> for k,v in dict.items(): 6 ... print "%s -->%s" %(k,v) 7 ... 8 job -->sa 9 where -->hangzhou 10 age -->28 11 name -->guanqing
-
dict.get('name') and dict.get('name','false') #如果name不存在字典中,则返回默认值false,这里可以避免为空或者报错,这里的get为得到字典中的某个键值
1 >>> dict 2 {'job': 'sa', 'where': 'hangzhou', 'age': '28', 'name': 'guanqing'} 3 >>> dict.get('name') 4 'guanqing' 5 >>> dict.get('names') 6 >>> dict.get('names','false') 7 'false'
8 >>> dict.has_key('name') #判断字典中是否有某一个键值
9 'True - dict.update(dict2) #把字典dict2的值加入到字典dict中
1 >>> dict 2 {'job': 'sa', 'where': 'hangzhou', 'age': '28', 'name': 'luck'} 3 >>> dict 4 {'job': 'sa', 'where': 'hangzhou', 'age': '28', 'name': 'luck'} 5 >>> dict2 = {'wukun':'boy','jinjin':'girl'} 6 >>> dict.update(dict2) 7 >>> dict 8 {'jinjin': 'girl', 'job': 'sa', 'name': 'luck', 'wukun': 'boy', 'age': '28', 'where': 'hangzhou'}
- 文件
-
不同模式打开文件的完全列表:
模式 描述 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 r+ 打开一个文件用于读写。文件指针将会放在文件的开头。 rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。 w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入 a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 - open-write-close 针对文件操作的方法:
1 # 打开一个文件 2 fo = open("foo.txt", "wb") 3 fo.write( "www.google.com!\nVery good site!\n") 4 5 # 关闭打开的文件 6 fo.close()
- with open('文件') 方法 #这个时候不需要进行open() and close()
1 >>> with open('foo.txt') as f: 2 ... data = f.read() 3 ... print data 4 ... 5 www.google.com! 6 very good site!
- python file几种常用的方法:
1 返回文件下一行。
2 从文件读取指定的字节数,如果未给定或为负则读取所有。
3 读取整行,包括 "\n" 字符。
4 读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比sizhint较大, 因为需要填充缓冲区。
-
列表中套字典,实际环境中经常使用
1 users = [{'age': 18, 'job': 'coo', 'name': 'wd', 'passwd': '12323'}, 2 {'age': 19, 'job': 'cto', 'name': 'kk', 'passwd': 'abcdef'}, 3 {'age': 20, 'job': 'cio', 'name': 'pc', 'passwd': 'ABC'}] 4 5 name = raw_input("please input your name: ").strip() 8 for i in users: 9 if name in i['name']: 10 paswd = raw_input("please input your password: ").strip() 11 if paswd in i['passwd']: 12 print 'welcome' 13 break 14 else: 15 print 'the user does not exist.' 16 break
- 元组
- 元组运算符,与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
Python 表达式 结果 描述 len((1, 2, 3)) 3 计算元素个数 (1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接 ('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 复制 3 in (1, 2, 3) True 元素是否存在 for x in (1, 2, 3): print x, 1 2 3 迭代 - 元组内置函数
序号 方法及描述 1 cmp(tuple1, tuple2)
比较两个元组元素。2 len(tuple)
计算元组元素个数。3 max(tuple)
返回元组中元素最大值。4 min(tuple)
返回元组中元素最小值。5 tuple(seq)
将列表转换为元组。
- 在线工具分享
-
在线画思维导图ProcessOn:https://www.processon.com/
- mahua在线文档编辑器:http://mahua.jser.me/
-
mahua用法总结:http://531d2d13.wiz03.com/share/s/1j7iQj2pF4PP2VhPBO1FRNwA0MS8Yz009ARg2G6F7U0XfBq5
-
“看板”可用来管理工作中的流程:https://trello.com/