数据类型
整数
int = 20
print int
效果如下:
浮点型
float = 6.6
print float
效果如下:
字符串
字符串可以用单引号,双引号,以及三引号括起来形成字符串,单引号与双引号括起来的用法完全相同,三引号字符串,表示多行的字符串,可以在三引号中*的使用单引号和双引号。
列表
列表的定义
列表名=[A,B,C]其中A,B,C可以是字符串等任意类型的变量的定义,例如
list=['physics', 'chemistry', 1997, 2000]
nums=[1, 3, 5, 7, 8, 13, 20]
列表的访问
有以下几种访问列表的方式,特别注意,列表的下标可以是负数,例如-1表示列表中最后一个元素,-2表示列表倒数第二个元素,例如访问前面的nums列表
print nums[2] //单个下标访问单个元素
print nums[2:5] //从下标为2的元素切割到下标为5的元素,但不包含下标为5的元素
print nums[1:] //从下标为1切割到最后一个元素,包括最后一个元素
print nums[:-3] //从最开始的元素一直切割到倒数第3个元素,但不包含倒数第三个元素
print nums[:] //访问列表所有元素
更新列表元素
以赋值的方式更新
nums[0] = 'su'
print nums[:]
结果如下
删除列表元素
使用del删除元素
del nums[0]
print nums[0]
print nums[:]
效果如图
列表脚本操作符
列表对+和的操作符与字符串相似。+号用于组合列表,号用于重复列表,in 判断列表中是否存在这个元素值。如下语句:
nums = [1, 3, 5, 7, 8, 13, 20]
me = ['su', 'chao']
print (nums + me) //组合列表nums和me
print (me *3) //将列表me重复三遍
print (3 in nums) //判断元素是否在列表中
print ('su' in me)
print (3 in me)
列表的函数与方法
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置,索引从0开始
list.insert(index, obj) 将对象插入列表
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素,倒转
list.sort() 对原列表进行排序,默认从小到大排序
见如下效果图
元组
元组的定义
python的元组与列表类似,不同之处在于元组的元素不能修改;元组使用小括号(),列表使用方括号[];元组的创建方式:元组名=(A,B,C)其中A,B,C可以是字符串等任意类型的变量的定义,创建空元组:元组名 = (),元组中只有一个元素时,需要在元素后面添加逗号,例如:tup1 = (50,);
元组元素的访问
元组与列表的访问类似,下标索引从0开始,用[]取下标的方式访问
tup1 = ('physics', 'chemistry', 1997, 2000)
print tup1[0] //访问第一个元素
print tup1[1:3] //访问第二个到第四个元素,不包括第四个元素
print tup1[:-2] //访问从第一个元素到倒数第二个元素,不包括倒数第二个元素
效果如下图
元组元素的修改
元组中的元素是不能被修改的,形如这样的修改是非法的。
tup1[0] = 100
print tup1[0]
结果如下:
元组元素的删除
元组中的元素值是不允许删除的,可以使用del语句来删除整个元组。
形如这样的语句会报错:
del tup1[0]
但是删除整个元组是可以实现的。
del tup1
上述两语句的效果如下:
元组的运算
与列表一样,元组之间可以使用+号和*号进行运算。+号表示将两个元组组合成一个新元组,*号表示将一个元组复制多遍。in 是用来判断一个元素是否在元组中:
元组的函数与方法
元组有如下常见的内置函数
cmp(tuple1, tuple2) 比较两个元组元素。
len(tuple) 计算元组元素个数。
max(tuple) 返回元组中元素最大值。
min(tuple) 返回元组中元素最小值。
tuple(seq) 将列表转换为元组。
可以见下图操作语句作为例子:
这里特别解释下
如果比较的元素是同类型的,则比较其值,返回结果。
如果两个元素不是同一种类型,则检查它们是否是数字。
如果是数字,执行必要的数字强制类型转换,然后比较。
如果有一方的元素是数字,则另一方的元素”大”(数字是”最小的”)
否则,通过类型名字的字母顺序进行比较。
如果有一个列表首先到达末尾,则另一个长一点的列表”大”。
如果我们用尽了两个列表的元素而且所 有元素都是相等的,那么结果就是个平局,就是说返回一个 0。
字典
字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典的定义
字典由键和对应的值组成。字典也被称作关联数组或哈希表。字典的定义形式:字典名={key1:value1,key2:value2,key3:value3,……}
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};
效果如下:
字典的访问
字典的访问是通过key值来访问的,key值就相当于字典某项的名字。
它也是用[]的方式来访问,只不过与列表不同的是,在[]中标明的是key来获取value。
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}
print dict['name']
print dict['class']
效果如下
字典元素值的修改
向字典添加新内容的方法是dict[key4] = value4(key4是原字典不存在的键),修改某个元素的方法dict[key3] = value_new(key3是字典中原有的键,value_new是一个新的值)
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}
dict['age']=27; //修改已有键的值
dict['school']="wutong"; //增加新的键/值对
效果如下:
字典元素删除
例如,针对上述字典,删除键是'name'的条目:del dict['name'],清空词典所有条目:dict.clear(), 删除词典:del dict ,
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}
del dict['name']
dict.clear()
del dict
字典的函数与方法
cmp(dict1, dict2) 比较两个字典元素。
len(dict) 计算字典元素个数,即键的总数。
str(dict) 输出字典可打印的字符串表示。
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
radiansdict.clear() 删除字典内所有元素
radiansdict.copy() 返回一个字典的浅复制
radiansdict.fromkeys(seq) 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
radiansdict.has_key(key) 如果键在字典dict里返回true,否则返回false
radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys() 以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里
radiansdict.values() 以列表返回字典中的所有值
具体每个函数的实现,见下图