组合数据类型
集合 无序
集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
parame = {value01,value02,...}
set(value)
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket) # 自动去重
{'orange', 'banana', 'pear', 'apple'}
"Runoob" in thisset# 存在
True
序列
python序列类型包括:列表、元组、字典
索引和字符串一样,可正可负
注意,在使用负值作为列序中各元素的索引值时,是从 -1 开始,而不是从 0 开始
序列切片
sname[start : end : step]
其中,各个参数的含义分别是:
sname:表示序列的名称;
start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果 step 的值大于 1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置 step 的值,则最后一个冒号就可以省略。
元组类型
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
tup1 = ('lth')
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
tup4 = tuple(List)
所以可以不使用括号
元组中只包含一个元素时,需要在元素后面添加逗号
tup1 = (50,)
列表类型 有序
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
list1 = ['lth']
list2 = ['good luck' ,'very good luck']
前闭后开
list2 = [1, 2, 3, 4, 5, 6, 7 ]
list2[1:5]: [2, 3, 4, 5]
List1 = [1, 2, 3, 4, 5]
List = []
List.extend(List1)# 根据列表进行填充
List[1] = 0
List.insert(2, 8)
List.pop(0)# index 根据下表删除
del List[0:2] #删除0-2 还有一个remove 删除第一个匹配到的value的元素 共三大删除
if List.count(0) == 0:
print("不存在")
else:
print("存在")
List.append(0)
List.index(0)# 返回第一个为0的下标
print(len(List))
print(max(List))
List.clear()
字典类型
字典是另一种可变容器模型,且可存储任意类型对象。c++和java里面的map
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
d = {key1 : value1, key2 : value2 }
dict = {'a': 1, 'b': 2, 'b': '3'}
dict['b']
'3'
dict
{'a': 1, 'b': '3'}
可变与不可变数据类型
可变数据类型:列表list和字典dict;
>>> a = [1, 2, 3]
>>> id(a)
41568816
>>> a = [1, 2, 3]
>>> id(a)
41575088
>>> a.append(4)
>>> id(a)
41575088
>>> a += [2]
>>> id(a)
41575088
>>> a
[1, 2, 3, 4, 2]
不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。
>>> x = 1
>>> id(x)
31106520
>>> y = 1
>>> id(y)
31106520
>>> x = 2
>>> id(x)
31106508
>>> y = 2
>>> id(y)
31106508
>>> z = y
>>> id(z)
31106508
文件
- 本质上,所有的文件都是二进制文件
- 由单一特定编码组成的文件 如"UTF-8"
打开
<变量名> = open (<文件名>, <打开格式>)
关闭
<f>.close()
读取
<f>.read(size = -1)
<f>.readline(hint=-1)
<f>.readlines(hint=-1)
第一种
f = open("foo.txt") # 返回一个文件对象
line = f.readline() # 调用文件的 readline()方法
while line:
print line, # 后面跟 ',' 将忽略换行符
#print(line, end = '') # 在 Python 3 中使用
line = f.readline()
f.close()
第二种
for line in open("foo.txt"):
print line,
第三种
f = open("c:\\1.txt","r")
lines = f.readlines() #读取全部内容 ,并以列表方式返回
for line in lines
print line
写入
<f>.write()
<f>.seek(offset)
<f>.writelines()
0 文件开头 1 当前位置 2 文件结尾