机器学习——Python(二)
本篇主要是对list,tuple的练习:
1、与Java不同的打印可以使用 -n 来倒序打印数组
2、注意打印指定区间数组可以使用—— print 数组名[1:4] ,列表的连接可以使用 + 直接完成列表连接
3、tuple 中包含基本数组类型是不可以改变,但是包含复杂的数据类型时,该元素内的数据是可以改变的。
4、字符串的操作和list列表类似
#coding:utf-8
#数组的下标同样是从0开始
print '--------------打印数组---------------'
classmates=["caiqiang","machicle","john"]
print classmates
print '--------------打印数组长度---------------'
print ' 数组长度为: ',len(classmates)
# 在Python中取最后一个元素的下标为-1,且可以依次类推,倒序访问元素
print '打印最后一个元素 ',classmates[-1]
print '打印倒数第二个元素 ',classmates[-2]
print '打印第一个元素 ',classmates[0]
print '打印第一个元素 ',classmates[-3]
#在第一个位置插入元素 Brian
print '插入元素之前 ',classmates[1]
classmates.insert(1,'Brian')
print '打印插入的元素 ',classmates[1]
#打印指定区间的元素,此处并不需要遍历 即可输出所有元素
print '指定 0 到 3 元素之间',(classmates[0:3])
classmatesB = ["jane"]
print '两个列表的连接 ',classmates+classmatesB
#删除末尾元素
print '删除末尾元素之前 末尾元素==',classmates[-1]
#删除元素时 pop函数可以不传参,默认为-1,len(T)-1
classmates.pop()
print '删除末尾元素之后 末尾元素==',classmates[-1]
print '删除指定位置元素 如 1 第二个元素', classmates[1]
#插入不同类型的元素,之前的元素都是字符串,现在插入 true-boolean 123-int
print '指定位置 插入 之前的元素: ',classmates[1]
#print '在 1 位置插入 true',true 该句在第一次开发时 错误,语法编译不通过,原因在Python中 true/flase 首字母大写
print '在 1 位置插入 true ,并打印: ',classmates.insert(1,True),classmates[1]
print '在 1 位置插入 整数 123,并打印: ',classmates.insert(1,123),classmates[1]
print '在 1 位置插入 数组 ["a","b"]: ',classmates.insert(1,["a","b"]),classmates[1]
# 在 1 位置插入 true ,并打印 None True
#在 1 位置插入 整数 123,并打印 None 123
#以上为打印结果,其中的None也给出 Python 一些特点
print '--------------tuple练习---------------'
# classmates_tuple = tuple("caiqiang","machile","jhon")
# t=tuple()
t = ('a', 'b', ['A', 'B'])
# print type(classmates_tuple)
print type(t[1])
#以上的练习都是错误的
tuple = ()
print type(tuple)
tuple = ("caiqiang","machile","jhon")
print '打印倒数第一个元素 ',tuple[-1]
字符串练习如下:
#coding:utf-8
#以下是关于字符串的练习
str = 'caiqiang'
print '打印指定的字符: ',str[-1]
#此处注意打印指定区间的字符,中括号内使用的是冒号':'不是逗号','隔开的
print '打印指定区间的字符: ',str[0:4]
print '打印两次字符串 :',str*2
#在此处实现换行 str+'\n'+'come on'
print '字符串连接 ',str+'\n'+' come on'
print '----------字符串的 replace 方法-------------'
print str.replace("cai","cai3"),str
str1 = str.replace("caiq","caiqiang")
print str,str1
#循环语句练习 print '--------------循环语句练习---------------' #for x in classmates 此处第一次开发出错,原因是没有加:,此处和if else语句相同,需要添加: for x in classmates: print '打印classmates数组中的元素 ', x print '--------------range语句练习---------------' print range(100)#打印出 0~99 序列 sum=0 for x in range(100): sum = sum +x print sum
set集合练习
print '--------------set练习---------------' s = set([1,2,3]) s1 = set('abcdef') s2 = set('cdefghi') print "访问整个set集合 ",s print "求两个集合并集: ",s1|s2 print "求两个集合差集: ",s1-s2,s2-s1#注意此处求两个集合的差集是相对的,s1相对s2的差集 print "求两个集合交集:",s1&s2 print "求两个集合不同时存在集合,即求两个集合的并集相对两个集合交集的差集",s1 ^ s2
dic字典练习
#dic练习 dic 是和Java中的map相同特征,只是在访问时有些区别,key是不能重复,也就是对于同一个key是可以放入多次,但是只会显示最后 #一个放入的value #此处需要注意的是,字典的定义与list列表定义之间的区别是什么 {key:value ,key:value,...} print '--------------字典练习---------------' dic = {"caiqiang":100,"Brain":100,"jane":100} print "访问指定的key:value ",dic['caiqiang'] print "访问指定的key:value",dic["Brain"] print "访问整个字典 :",dic #print "访问整个字典 :",dic["caiqiang":"jane"] 、dic[0:2] 这种写法是不对,会报错,但是编译会通过 print "访问字典中的所有的value : ",dic.values() print "访问字典中所哟的key: ",dic.keys()