一、Dictionary(字典)
Dictionary 是 Python 的内置数据类型之一,它定义了键和值间对关系 。
1、定义字典
d = {"name":"Liao","age":"24"}
d["name"]
'Liao'
首先我们创建了新 dictionary,它有两个元素,将其赋给变量d 。每一个元素都是一个 key-value对,整个元素集合用大括号括起来。
“name”是一个key,它所关联的词是通过d[“name”]来引用的。
2、dictiona字典的修改
在一个dictiona不能有重复的key,给一个存在的key赋值会覆盖原来的值。
在任何时候都可以加入新的key-value对,语法与修改存在的值是一样的。
d["age"] = 23
d["gender"] = "female"
d
{'name': 'Liao', 'age': 23, 'gender': 'female'}
Dictionary是无序的,key是大小写敏感的
dictionary的值可以是任意数据类型,包括字符串、整数、对象,甚至其他的dictionary.
dictionary的key可以是字符串,整数,其他几种类型
3、从dictionary中删除元素
del d["name"]
d
{'age': 23, 'gender': 'female'}
d.clear()
d
{}
del允许使用key删除dictionary中独立的元素,clear()函数从一个dictionary中清楚所有的元素。
二、列表(list)
nameList = ["TOM","LISA","BOB","LILY"]
nameList[0]
'TOM'
nameList[3]
'LILY'
nameList[-1]
'LILY'
1、list的定义和索引
(1). list是一个用方括号括起来的有序元素的集合。
(2).list的索引从0开始
(3).负的list索引,-1代表最后一个元素的索引,list[-n] == list[len(list)-n]
2、list的分片(slice)
可以通过指定两个索引得到list的子集,“slice”,返回一个新的list,包括从第一个索引直到但不包括第二个索引的所有元素。
3、向list中增加元素
append向list末尾增加一个元素
insert将单个元素插入list中,数值参数时元素插入位置的索引,list中的元素不必唯一。
extend用来连接list
4、list搜索
nameList.index("BOB")
2
index在list中查找一个值首次出现并返回其索引值
要测试一个值是否在list内,用in,存在返回true,否则false
"TOM" in nameList
True
Note:Python中的布尔值True和False第一个字母大写,是大小写敏感的。
4、从list中删除元素
nameList.remove("BOB")
nameList.pop()
'LILY'
remove从list中删除一个值的首次出现
pop删除list中的最后一个元素,并返回这个元素的值
三、Tuple(元组)
Tuple是不可变的list,一旦创建了元组,任何方式都不能改变它。
定义:与list的定义方法相同,但是用小括号括起来的一系列元素的集合。
Tuple没有方法,不能增加、删除和查找,但是可以用in来查看一个元素是否在Tuple中
Tuple的好处: 比list操作速度快、可以在dictionary中被用作key,但list不行、可以用在字符串格式化中。
四、变量声明
Python 与大多数其它语言一样有局部变量和全之分,但是没明显的变量声明,变量通过首次赋值产生,当超出作用范围时自动消亡。
namelist = {"lisa": 24, \
"Bob": 25, \
"lucy": 27}
print(namelist["lisa"])
变量的赋值时一条被分成了多行的命令,用""反斜杠作为续行符。
Python不允许使用一个未被赋值的变量,这样会引发异常。
Python可以一次赋多值
v = ("a", "b", "c")
(x, y, z) = v
print(x, y, z)
(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday) = range(7)
print(Monday)
五、格式化字符串
x = "a"
y = "b"
print("%s=%s"%(x, y))
(x,y)是一个tuple
连接.join和分割split字符串
namelist = {"lisa": 24, \
"Bob": 25, \
"lucy": 27}
print(namelist["lisa"])
s = ";".join(["%s = %d" %(k, v) for (k, v) in namelist.items()])
print(s)
lisa = 24;Bob = 25;lucy = 27
这里的join方法将 list 中的元素连接成单个字符串,每个元素用一个分隔符隔开,分隔符不必是分号,甚至不必是单个字符,它可以是任何字符串。
不能join非字符串
s1 = s.split(";", 1)
print(s1)
['lisa = 24', 'Bob = 25;lucy = 27']
split与join正好相反,它将一个字符串分割成多元素的list,分隔符“;”被完全去掉了。
split接受第二个参数,它是要分割的次数。