一、数据类型
1.1 字符串
在Python中用引号引起来的字符集称之为字符串,比如:'hello'、"my Python"、"2+3"等都是字符串 Python中字符串中使用的引号可以是单引号、双引号跟三引号
1.2 整数与浮点数
与c类似。
1.3 布尔值
Ture or False
1.4类型转换
与c类似。
二、数据结构
2.1 列表(list)
用来存储一连串元素的容器,列表用[]来表示,其中元素的类型可不相同。
1.1 列表转为矩阵
1. mylist= [0, 1, 2, 3, 4, 5] # 列表=数组,但是数据元素可以是很多种类 2. print (mylist)
[0, 1, 2, 3, 4, 5]
列表索引和切片
# 索引从0开始,含左不含右 print ('[4]=', mylist[4]) print ('[-4]=', mylist[-4]) print ('[0:4]=', mylist[0:4]) print ('[:4]=', mylist[:4])#dddd print( '[4:]=', mylist[4:]) print ('[0:4:2]=', mylist[0:4:2]) # 相隔几个选择一个 ! print ('[-5:-1:]=', mylist[-5:-1:]) print ('[-2::-1]=', mylist[-2::-1])
[4]= 4
[-4]= 2
[0:4]= [0, 1, 2, 3]
[:4]= [0, 1, 2, 3]
[4:]= [4, 5]
[0:4:2]= [0, 2]
[-5:-1:]= [1, 2, 3, 4]
[-2::-1]= [4, 3, 2, 1, 0]
修改列表
mylist[3] = "小月" print (mylist[3]) mylist[5]="小楠" print (mylist[5]) mylist[5]=19978 print (mylist[5])
小月
小楠
19978
print (mylist)
[0, 1, 2, '小月', 4, 19978]
插入元素
mylist.append('han') # 添加到尾部 mylist.extend(['long', 'wan']) print (mylist)
[0, 1, 2, '小月', 4, 19978, 'han', 'long', 'wan']
1. scores = [90, 80, 75, 66] 2. mylist.insert(1, scores) # 添加到指定位置 3. mylist
[0, [90, 80, 75, 66], 1, 2, '小月', 4, 19978, 'han', 'long', 'wan']
删除元素
print (mylist.pop(1)) # 该函数返回被弹出的元素,不传入参数则删除最后一个元素 输出 print (mylist)
[90, 80, 75, 66]
[0, 1, 2, '小月', 4, 19978, 'han', 'long', 'wan']
判断元素是否在列表中等
1. print( 'wan' in mylist) 2. print ('han' not in mylist)
True
False
mylist.count('wan')
1
mylist.index('wan')
8
range函数生成整数列表
print (range(10)) # range是一个整型列表 print (range(-5, 5)) print (range(-10, 10, 2)) print (range(16, 10, -1))
range(0, 10)
range(-5, 5)
range(-10, 10, 2)
range(16, 10, -1)
2.2 元组(tuple)
元组类似列表,元组里面的元素也是进行索引计算。列表里面的元素的值可以修改,而元组里面的元素的值不能修改,只能读取。元组的符号是()。
1. studentsTuple = ("ming", "jun", "qiang", "wu", scores) 2. studentsTuple
try: studentsTuple[1] = 'fu' except TypeError: print ('TypeError')
('ming', 'jun', 'qiang', 'wu', [90, 80, 75, 66])
TypeError
'ming' in studentsTuple
True
studentsTuple[0:4]
('ming', 'jun', 'qiang', 'wu')
studentsTuple.count('ming') 1 studentsTuple.index('jun') 1 len(studentsTuple) 5
2.3 集合(set)
Python中集合主要有两个功能,一个功能是进行集合操作,另一个功能是消除重复元素。 集合的格式是:set(),其中()内可以是列表、字典或字符串,因为字符串是以列表的形式存储的。
studentsSet = set(mylist) print (studentsSet)
{0, 1, 2, 'han', 4, '小月', 19978, 'wan', 'long'}
1. studentsSet.add('xu') 2. print (studentsSet)
{0, 1, 2, 'han', 4, '小月', 'xu', 19978, 'wan', 'long'}
1. studentsSet.remove('xu') 2. print (studentsSet)
{0, 1, 2, 'han', 4, '小月', 19978, 'wan', 'long'}
1. a = set("abcnmaaaaggsng") 2. print ('a=', a)
a= {'c', 'a', 'b', 's', 'm', 'g', 'n'}
1. b = set("cdfm") 2. print ('b=', b)
b= {'m', 'c', 'd', 'f'}
1. #交集 2. x = a & b 3. print( 'x=', x)
x= {'m', 'c'}
#并集 y = a | b print ('y=', y) #差集 z = a - b print( 'z=', z) #去除重复元素 new = set(a) print( z)
y= {'c', 'a', 'b', 's', 'd', 'm', 'g', 'f', 'n'}
z= {'a', 'b', 's', 'g', 'n'}
{'a', 'b', 's', 'g', 'n'}
2.4字典(dict)
Python中的字典dict也叫做关联数组,用大括号{}括起来,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度,其中key不能重复。
1. k = {"name":"weiwei", "home":"guilin"} 2. print (k["home"])
guilin
print( k.keys()) print( k.values())
dict_keys(['name', 'home'])
dict_values(['weiwei', 'guilin'])
添加、修改字典里面的项目
k["like"] = "music" k['name'] = 'guangzhou' print (k)
{'name': 'guangzhou', 'home': 'guilin', 'like': 'music'}
k.get('edu', -1) # 通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value
-1
删除key-value元素
1. k.pop('like') 2. print (k)
{'name': 'guangzhou', 'home': 'guilin'}
2.5 列表、元组、集合、字典的互相转换
2.6列表生成式
三种形式
[<表达式> for (条件变量) in (集合)]
[<表达式> for (条件变量) in (集合) if <'True or False'表达式>]
[<表达式> if <'True or False'表达式> else <表达式> for (条件变量) in (集合) ]
fruits = ['"Apple', 'Watermelon', '"Banana"'] [x.strip('"') for x in fruits]
['Apple', 'Watermelon', 'Banana']
# 另一种写法 test_list=[] for x in fruits: x=x.strip('"') test_list.append(x) test_list
['Apple', 'Watermelon', 'Banana']
[x ** 2 for x in range(21) if x%2]
[1, 9, 25, 49, 81, 121, 169, 225, 289, 361]
# 另一种写法 test_list=[] for x in range(21): if x%2: x=x**2 test_list.append(x) test_list
[1, 9, 25, 49, 81, 121, 169, 225, 289, 361]
[m + n for m in 'ABC' for n in 'XYZ']
['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
# 另一种写法 test_list=[] for m in 'ABC': for n in 'XYZ': x=m+n test_list.append(x) test_list
1. d = {'x': 'A', 'y': 'B', 'z': 'C' } 2. [k + '=' + v for k, v in d.items()]
['x=A', 'y=B', 'z=C']
# 另一种写法 test_list=[] for k, v in d.items(): x=k + '=' + v test_list.append(x) test_list
三、Python控制流
在Python中通常的情况下程序的执行是从上往下执行的,而某些时候我们为了改变程序的执行顺序,使用控制流语句控制程序执行方式。Python中有三种控制流类型:顺序结构、分支结构、循环结构。
另外,Python可以使用分号";"分隔语句,但一般是使用换行来分隔;语句块不用大括号"{}",而使用缩进(可以使用四个空格)来表示。