python基础之杂文

1.容器类数据结构

1.1 列表List  ---- 内部存着的是地址,指针

(1)写在[ ]内用逗号分开的元素列表,python中存放有序对象的容器。list中的元素类型可以不同,可以存放任何数据类型:数值、布尔型、字符串等。
(2)类似于字符串,可以被索引和切片,list切片后返回一个所需元素的新list,切片格式:变量[头下标:尾下标]
(3) + 是列表连接运算符     * 是重复操作
(4)list内置了append()/insert()/pop()等方法
(5)list的元素是可以改变的
eg:
python基础之杂文

1.2 元组Tuple

(1)写在()内用逗号隔开的有序集合,元组中的数据类型可以不同
(2)tuple的元素不能修改  ----- 指的是指向不变
(3)可以被索引和切片
(4)可以使用 + * 操作符
(5)构造包含0或1个元素的元组,需注意
eg:
python基础之杂文

1.3 字典Dict   

(1)无序对象的集合
(2)元素是通过键来存取的
(3)一种映射类型,{key, value}键值对,key 必须是不可变类型,且不能重复
(4)内置函数clear()/keys()/values()等
(5)空字典创建用{ }
(6)dict的第一个特点是查找速度快,而且查找的速度与元素的个数无关,而list的查找速度是随着元素的增加而逐渐下降的;第二个特点是存储的key-value序对是没有顺序的;第三个特点是作为key得到元素是不可变的,所以list不能作为key。dict的缺点是占用内存大,还会浪费很多内容。
eg:
python基础之杂文

1.4 集合Set

(1)无序不重复元素的集合
(2)功能:成员关系测试和删除重复元素
(3)创建是调用set()并传入一个list,重复元素自动过滤
(4)内置函数:add()/remove()
eg:
python基础之杂文

1.5 list,tuple,dict,set区别

1 .list

list是一个使用方括号括起来的有序元素集合;

List 可以作为以 0 下标开始的数组,任何一个非空 list 的第一个元素总是 L[0],负数索引从 list 的尾部开始向前计数来存取元素。任何一个非空的 list 最后一个元素总是 L[-1];

有分片功能,两个list可以相加;

append 向 list 的末尾追加单个元素;

insert 将单个元素插入到 list 中; 

extend 用来连接 list,使用一个 list 参数进行调用;

append 接受一个参数, 这个参数可以是任何数据类型, 并且简单地追加到 list 的尾部;

index 在 list 中查找一个值的首次出现并返回索引值;

要测试一个值是否在 list 内, 使用 in, 如果值存在, 它返回 True, 否则返为 False ;

remove 从 list 中删除一个值的首次出现;

pop 可以删除 list 的最后一个元素, 然后返回删除元素的值,用索引删除制定位置的值;

 

2.tuple

tuple是不可变的list,创建了一个tuple就不能以任何方式改变它;

定义tuple是将整个元素集是用小括号括起来,是有序集合;

tuple的索引与list一样从0开始,所以一个非空的tuple的第一个元素总是t[0];

负数索引与 list 一样从 tuple 的尾部开始计数;

与 list 一样分片 (slice) 也可以使用。分割一个 tuple 时, 会得到一个新的 tuple;

没有 append、extend、remove或pop方法以及index方法;

可以使用in来查看一个元素是否存在于tuple 中。

 

3.dict

dict定义了键和值之间的一一对应关系,每个元素都是一个key-value对;

整个元素集合用大括号括起来,有序集合;

可以通过 key 得到value, 但不能通过vaule获取 key;

在一个 dict中不能有重复的 key, 并且 key 是大小写敏感的;

键可以是数字、字符串或者是元组等不可变类型;

用del使用key可以删除dict中的独立元素; 

用clear可以清除dict中的所有元素。

4.set

set是建立一系列无序的,不重复的元素;

创建set的方式是调用set()并传入一个list,list的元素将作为set的元素;

set和dict的唯一区别仅在于没有存储对应的value。


1.6 数据类型转换

函数 描述

int(x [,base])

将x转换为一个整数

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串 



1.7常用方法

(1)list.clear()    ----- 清空列表





2、sorted()函数

2.1 sort()与sorted()函数

python3 sorted取消了内置cmp函数
(1)对给定的List L进行排序:
方法1.用List的成员函数sort进行排序
方法2.用built-in函数sorted进行排序

--------------------------------sorted---------------------------------------
>>> help(sorted)
Help on built-in function sorted in module __builtin__:

sorted(...)
    sorted(iterable,key=None, reverse=False) --> new sorted list
---------------------------------sort----------------------------------------
>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort( key=None, reverse=False) -- stable sort *IN PLACE*;
    
-----------------------------------------------------------------------------
iterable:是可迭代类型;
key:接收一个函数,且函数只接受一个元素,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
 
注;一般来说,key可以使用lambda表达式。

sort()与sorted()的不同在于,sort是在原位重新排列列表,而sorted()是产生一个新的列表。


2.2 sorted()函数

key值:

students = [('john', 'A', 15), ('jane', 'B', 12), ('dave','B', 10)]

sorted(students,key=lambda s: x[2]) #按照年龄来排序

结果:[('dave','B', 10), ('jane', 'B', 12), ('john', 'A', 15)]


eg:
python基础之杂文


3、python中pass语句的作用总结:

pass表示不作任何事情,一般用作占位语句
(1)pass在函数中
当你在编写一个程序时,执行语句部分思路还没有完成,这时你可以用pass语句来占位,也可以当做是一个标记,是要过后来完成的代码

(2)pass在循环中
pass也常用于为复合语句编写一个空的主体,比如说你想一个while语句的无限循环,每次迭代时不需要任何操作

pass语句用法总结:1、空语句,什么也不做            2、在特别的时候用来保证格式或是语义的完整性

4、input

input()返回值默认是字符串,若要与整数比较,需转化为整数