Python 学习- 列表,字符串,数据操作和字典
2017-03-30 00:00
726 查看
pip命令安装第三方库:
Python 导入库的时候,可以用import命令,如果是标准库,那么直接运行即可,如果是第三方的库,需要用pip命令安装之后才能导入。
例如
os.system命令和 os.popen命令:
上一周学习了基本的os.system()命令,这个命令在windows下面同样工作。例如输出IP配置信息
如果希望保存到变量,可以
Pyc文件:
当在一个Python文件中导入另外一个Python模块的时候,执行会自动生成一个PYC文件。这个文件是一个字节码文件。Python的工作原理是首先把源文件编译成pyc字节码文件,然后这个字节码文件再通过python的虚拟机执行。当手动运行python程序的时候,他不会在硬盘上保存对应的pyc文件,这是因为手动执行的频率一般而言不会太高,当下一次操作的时候,对应的内容可能有更改,因此没有保留的意义。而自动导入执行的时候,会自动创建对应的pyc文件。
数据类型:
int:整型, Python3以后不区分长整型和普通整型了
bool:布尔型, True或者1为真;False或者0为假
字符串:注意下面例子的区别,他们的结果显示一样,不过+是创建了3个内存分区;而后者只用了1个,效率更高。
列表:其他语言里面叫做数组,是使用最最广泛的数据结构
例子:
获取第一个元素
获取最后一个元素
1
2
获取前第一个元素
获取倒数第2个元素
设置步长为2,隔一个取一个元素
切片,获取子列表的第三个元素
指定索引位置,插入新元素
判断是否存在元素
指定元素的值来删除 注意一次只能删除一个
一次性删除多个连续的元素,可以使用del
修改某个位置的元素值
判断某元素个数
把所有的9都改成999
合并name2 到name里面
排序 注意混杂字符串和数字的列表在3里面不能排序,但是在2里面会按照ansc编码的值排序
根据索引号删除,如果不指定索引号,默认删除最后一位
列表的复制,注意copy只能复制第一层的数据,里面嵌套的列表,仅仅复制了内存地址,换而言之,就是类似一个软连接,在源列表和复制后的列表里,如果修改嵌套的列表内的元素,两个表显示出来的效果都会同时变化。
如果想进行深度的复制,需要使用copy模块的deepcopy命令,可以看见deepcopy之后他们是两个独立的个体,互相不受影响
元组:tuple,只有只读属性的列表
用圆括号定义
因为只有只读属性,他的函数只有count和index两个
字符串的操作
例如:去掉前后的空格
用split分割字符串成为一个列表;用join合并列表成为一个字符串
指定索引输出
判断是否包括某个字符
大写首字母
两种方式传入参数
切片
输出居中的格式center()
find查找字符串中包含的字符,如果存在,返回索引,不存在返回-1
isdigit()判断输入的是否是数字
endwith()判断以什么结尾
转换大小写
数据运算
1、算数运算:a=10,b=20
2、比较运算:
3、赋值运算:
4、逻辑运算:
5、成员运算:
6、 二进制运算:
字典:无序,Key和value配对,key值唯一
例子:定义一个嵌套的字典
指定Key,输出对应的Value
更改一个Key的值
添加一个新的key/value 元素
删除一个元素
另外一种删除的方式
get,如果该Key存在,返回对应的值
如果不存在,返回None
注意,如果使用直接赋值的方式,如果不存在,它会直接抛出一个错误。
把一个新的字典加入当前的字典
直接输出,不建议使用,效率低
分别输出Key和Value
判断是否存某个Key
判断这个key是否存在,如果存在,返回value;如果不存在,创建这个key和对应的value,如果不设置value,那么默认为None
创建一个新的字典,把列表里面的每一个值拿出来作为key,然后后面的分配同样的值
随机的删除一项
输出字典的Key和Value,有两种方式,第一种方式适合比较小的字典,效率低;第二种效率比较高
登录乐搏学院官网http://www.learnbo.com/
或关注我们的官方微博微信,还有更多惊喜哦~
本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1835591
Python 导入库的时候,可以用import命令,如果是标准库,那么直接运行即可,如果是第三方的库,需要用pip命令安装之后才能导入。
例如
1 | pip install pandas |
上一周学习了基本的os.system()命令,这个命令在windows下面同样工作。例如输出IP配置信息
1 2 | >>> import os >>>os.system( "ipconfig" ) |
1 2 3 | >>> import os >>>r = os.popen( "ipconfig" ).read() >>> (r) |
当在一个Python文件中导入另外一个Python模块的时候,执行会自动生成一个PYC文件。这个文件是一个字节码文件。Python的工作原理是首先把源文件编译成pyc字节码文件,然后这个字节码文件再通过python的虚拟机执行。当手动运行python程序的时候,他不会在硬盘上保存对应的pyc文件,这是因为手动执行的频率一般而言不会太高,当下一次操作的时候,对应的内容可能有更改,因此没有保留的意义。而自动导入执行的时候,会自动创建对应的pyc文件。
数据类型:
int:整型, Python3以后不区分长整型和普通整型了
bool:布尔型, True或者1为真;False或者0为假
字符串:注意下面例子的区别,他们的结果显示一样,不过+是创建了3个内存分区;而后者只用了1个,效率更高。
1 2 3 4 | >>>name = "yuan li" >>> ( "My nameis " + name + " and You?" ) >>> ( "My nameis %s and You?" % name) My name is yuan li and You? |
例子:
获取第一个元素
1 2 3 | >>>name = [ "zhangsan" , "lisi" , "wangwu" ] >>>name[ 0 ] 'zhangsan' |
2
>>>name[
-
1
]
'wangwu'
1 2 | >>>name[ 0 : 1 ] [ 'zhangsan' ] |
1 2 | >>>name[ - 2 : - 1 ] [ 'lisi' ] |
1 2 | >>>name[:: 2 ] [ 'zhangsan' , 'wangwu' ] |
1 2 3 | >>>name = [ "h" , "sjdkf" , 23 , 232 ,[ "22" , "33" , 234 ]] >>>name[ 4 ][ 2 ] 234 |
1 2 3 | >>>name.insert( 3 , "hhhh" ) >>>name [ 'h' , 'sjdkf' , 23 , 'hhhh' , 232 ,[ '22' , '33' , 234 ]] |
1 2 3 4 5 6 7 8 9 10 | >>>name [ 'jkjjljlj' , 'sjdkf' ,[ '22' , '33' , 234 ], 'end' ] >>> 22 in name False >>> '22' in name False >>> 'end' in name True >>> '22' in name[ 2 ] True |
1 2 3 | >>>name.remove( 23 ) >>>name [ 'h' , 'sjdkf' , 'hhhh' , 232 ,[ '22' , '33' , 234 ], 'end' ] |
1 2 3 | >>> del name[ 2 : 4 ] >>>name [ 'h' , 'sjdkf' ,[ '22' , '33' , 234 ], 'end' ] |
1 2 3 | >>>name[ 0 ] = 'jkjjljlj' >>>name [ 'jkjjljlj' , 'sjdkf' ,[ '22' , '33' , 234 ], 'end' ] |
1 2 | >>>name.count( '22' ) 0 |
1 2 3 4 5 6 7 | >>>name = [ 2 , 2 , 3 , 9 , 23 , 9 , 22 , 21 , 9 ] for i in range (name.count( 9 )): index = name.index( 9 ) name[index] = 999 (name) [ 2 , 2 , 3 , 999 , 23 , 999 , 22 , 21 , 999 ] |
1 2 3 4 | name.extend(name2) (name) [ 'AA' , 'jksf' ,[ 2 , 99 , 5 ], '234' , 'klk' , 'sdf' ] |
1 2 3 4 5 | >>> (name.sort()) Traceback (most recent call last): File "<input>" ,line 1 , in <module> TypeError:unorderable types: list () < str () |
1 2 3 4 | >>>name.pop( 2 ) (name) [ 'AA' , 'jksf' ,[ 2 , 99 , 5 ], '234' ] |
1 2 3 4 5 6 7 8 9 | >>>name = [ 'al' , 'jksf' , 'sdf' ,[ 2 , 3 , 5 ], '234' ] name3 = name.copy() name[ 0 ] = 'AA' name[ 3 ][ 1 ] = 99 (name) (name3) [ 'AA' , 'jksf' , 'sdf' ,[ 2 , 99 , 5 ], '234' ] [ 'al' , 'jksf' , 'sdf' ,[ 2 , 99 , 5 ], '234' ] |
1 2 3 4 5 6 7 8 9 | >>> import copy name = [ 'al' , 'jksf' , 'sdf' ,[ 2 , 3 , 5 ], '234' ] name4 = copy.deepcopy(name) name[ 3 ] = '22222' (name) (name4) [ 'al' , 'jksf' , 'sdf' , '22222' , '234' ] [ 'al' , 'jksf' , 'sdf' ,[ 2 , 3 , 5 ], '234' ] |
用圆括号定义
1 2 | >>>r = ( 1 , 3 , 4 , 5 ) ( type (r)) |
1 2 3 4 | >>> ( "count of1:" ,r.count( 1 )) ( "index of3:" ,r.index( 3 )) count of 1 : 1 index of 3 : 1 |
例如:去掉前后的空格
1 2 3 | >>>user = " Yuan Liis a handsome man " (user.strip()) # remove space in the front and end Yuan Li is a handsome man |
1 2 3 4 5 6 | >>>names = "zhangsan,lisi,wanger" name2 = names.split( "," ) #become list (name2) ( "|" .join(name2)) [ 'zhangsan' , ' lisi' , ' wanger' ] zhangsan| lisi| wanger |
1 2 | >>> (names[ 0 ]) z |
1 2 | >>> ( ' ' in names) True |
1 2 | >>> (names.capitalize()) Zhangsan,l |
1 2 3 4 5 6 | >>>msg = "hello,{name},it's been a long {time}" msg2 = msg. format (name = 'Yuan' ,time = 'period' ) msg3 = "hhh{0},dddd{1}" (msg2) (msg3. format ( 'Yuuu' , '222' )) hello,Yuan,it's been a long period |
1 2 3 | >>>name = "abcedefgh" (names[ 2 : 5 ]) ang |
1 2 | >>> (name.center( 40 , '-' )) - - - - - - - - - - - - - - - abcedefgh - - - - - - - - - - - - - - - - |
1 2 3 4 5 | >>>name = "abcedefgh" (name.find( 'e' )) (name.find( 'dddd' )) 3 - 1 |
1 2 3 4 5 6 7 | >>>age = input ( "your age:" ) if age.isdigit(): age = int (age) else : ( "invalid datatype" ) your age:>? er invalid data type |
1 2 3 | >>>name = "abcedefgh" (name.endswith( "fgh" )) True |
1 2 | >>> (name.upper()) ABCEDEFGH |
1、算数运算:a=10,b=20
2、比较运算:
3、赋值运算:
4、逻辑运算:
5、成员运算:
6、 二进制运算:
运算符 | 描述 | 解释 |
& | 与运算 | 这个二进制位必须在2组数中都为真,结果才返回真 |
I | 或运算 | 这个二进制位只需在其中一组数据中为真即返回真 |
^ | 异或运算 | 只要这个二进制位在两组数据中不相同就返回 |
<< | 左移运算 | 移动一位相当于乘以2 |
>> | 右移运算 | 移动一位相当于除以2 |
例子:定义一个嵌套的字典
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | id_db = { 23432424234234324 :{ 'name' : "alex" , 'age' : 23 , 'addr' : 'Shandong' }, 234324324234324242 :{ 'name' : 'Yuan' , 'age' : 24 , 'addr' : 'Sichuan' }, 234242423222222222 :{ 'name' : 'john' , 'age' : 20 , 'addr' : 'HeNan' } } |
1 2 | (id_db[ 234242423222222222 ]) { 'name' : 'john' , 'age' : 20 , 'addr' : 'HeNan' } |
1 2 3 | id_db[ 234242423222222222 ][ 'name' ] = 'hhh' (id_db[ 234242423222222222 ]) { 'name' : 'hhh' , 'age' : 20 , 'addr' : 'HeNan' } |
1 2 3 | id_db[ 234242423222222222 ][ 'qq' ] = 2900032 (id_db[ 234242423222222222 ]) { 'name' : 'john' , 'age' : 20 , 'qq' : 2900032 , 'addr' : 'HeNan' } |
1 2 | del id_db[ 234242423222222222 ][ 'qq' ] (id_db[ 234242423222222222 ]) |
1 2 | id_db[ 234242423222222222 ].pop( 'age' ) (id_db[ 234242423222222222 ]) |
1 2 3 | v = id_db.get( 234242423222222222 ) (v) { 'name' : 'john' , 'age' : 20 , 'addr' : 'HeNan' } |
1 2 3 | v = id_db.get( 22222 ) (v) None |
1 2 3 4 5 | v = id_db[ 22222 ] (v) Traceback (most recent call last): File "<input>" ,line 35 , in <module> KeyError: 22222 |
1 2 3 4 5 6 | dic2 = { 'name' : 'kkkk' , 'age' : 32 , 'addr' : 'Hongkong' } id_db.update(dic2) (id_db) { 234324324234324242 :{ 'name' : 'Yuan' , 'age' : 24 , 'addr' : 'Sichuan' }, 23432424234234324 :{ 'name' : 'alex' , 'age' : 23 , 'addr' : 'Shandong' }, 'addr' : 'Hongkong' , 'name' : 'kkkk' , 'age' : 32 , 234242423222222222 :{ 'name' : 'john' , 'age' : 20 , 'addr' : 'HeNan' }} |
1 | (id_db.items()) |
1 2 | (id_db.values()) (id_db.keys()) |
1 | ( 234242423222222222 in id_db) |
1 2 | (id_db.setdefault( 234242423222222222 )) #if exists,erturn the value (id_db.setdefault( 234242423222222122222222 , 'hhhh' )) #otherwise add a new key/value |
1 2 | (id_db.fromkeys([ 1 , 2 , 3 , 3 ], 'ddd' )) { 1 : 'ddd' , 2 : 'ddd' , 3 : 'ddd' } |
1 | (id_db.popitem()) |
1 2 3 4 | for k,v in id_db.items(): (k,v) for key in id_db: (key,id_db[key]) |
或关注我们的官方微博微信,还有更多惊喜哦~
本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1835591
相关文章推荐
- python实操(5):python数据类型及常用操作,数字、字符串、元组、列表、字典、集合
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- 转--Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- python学习五 列表(list)、字典(dict)、字符串(string)
- Python 元组、列表、字典、字符串的操作
- Python列表(list)、字典(dict)、字符串(string)基本操作小结
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- python学习笔记——字符串,列表,字典,集合,数值,sorted
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Python的学习(二十八)----字符串操作与列表使用
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- 小Y的Python学习日志--数据类型(列表,字典)
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- python列表、元组、字典、字符串操作
- Python 学习 (一) python的基本数据类型 元组 列表 字典
- Python学习--识别“字符串&字典&列表&元组“