搬马

导航

 

tuple(元组)

元组被称为只读列表,即数据可以被查询,但不能被修改,所以列表的切片操作同样适用于元组。

元组写在( )里,元素之间用逗号隔开。

tul1 = ( )  #空元组

tul2 = (20,)  #一个元素需要在面添加逗号

另外,元组的意义还在于,元组可以在映射(和集合的成员)中当作键使用---而列表则不行,元组作为很多内建函数和方法的返回值存在。

 

 len() 方法返回对象(字符、列表、元组等)长度项目个数

 

Dictionary(字典)

字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定 value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取的。

dic1 = {'name':'alex' , 'age':36 , 'sex':'male'}

dic1['name']  #通过键来取值

所有的数据类型,不论哪一种都可以做为值。

键必须是唯一的,且不能修改。

数据类型:数字、字符串、布尔值、列表、元组、字典。

查看内存地址:id(a)

数据类型不可变类型:整型、字符串、元组

数据类型可变类型:列表、字典

字典两在特点:无序、键唯一

增加:

1、dic1['age'] = 18  #字典后面直接跟中括号,里面写要加的键并且赋一个值。

2、dic1.setdefault('age',34)  #如果字典中没有这个键,则新加这个键值对,返回值为新赋的值,如果有,此次赋值不生效,返回值为原有值。

查:

dic3['name']

dic3.keys()  #查看字典中所有的键

dic3.values()  #查看字典中所有的值

dic3.items()  #查看所有键值对

改:

dic3['name'] = 55

dic4.update(dic3)  #将字典3增加到字典4中,如果有相同的,则更新。

删:

dic5.clear()  #清空字典

del dic5['name']  #删除整个键值对

dic5.pop('age')  #将键值对删掉,并将键值对的返回,键不返。

dic5.popitem()  #随机删除某个键值对,并以元组的形式返回值。键值都返回。

del dic5  #删除整个字典

其它操作以及涉及到的方法:

dic6=dic.fromkeys(['host1','host2','host3'],'tset')

 

字典的嵌套:

字典排序:

sorted(dict):返回一个有序的包含字典所有key的列表,根据key排序

sorted(dict.values())  #根据值排序

sorted(dict.items())  #根据键排序

字典的遍历:

1 for i in dic5:        #字典后面什么方法都没有,这样只会将key赋值给i,不包括值
2     print(i,dic5[i])      
3 
4 for i,v in dic5.items():     #字典后面跟items,会将key和值都赋值给前面变量,如果前面有两个变量,会分别赋值
5     print(i,v)       

 

字符串:

重复输出字符串:

print('hello'*2)    #输出两遍hello

通过索引获取字符串中字符,这里和列表的切片操作是相同的:

print('helloworld'[2:])

in 成员运算符,如果字符串中包含给定的字符返回True

print('el' in 'hello')

格式化字符串:就是格式化输出

字符串拼接:

a='123'
b='abc'
c=a+b
c=''.join([a,b])
1 a='123'
2 b='abc'
3 d='888'
4 c='***'.join([a,b,d])
5 print(c)
6 
7 123***abc***888    #这是输出结果

 String的内置方法:

 1 st = 'hello kitty'
 2 print(st.count('y'))    #统计y字母的个数
 3 print(st.capitalize())  #将字符串首字母大写,此处会将H大写,k不会大写
 4 print(st.center(50,'-'))  #打印50个-,并将字符串居中
 5 print(st.ljust(50,'*'))    #将字符串放左面,右边打印50个*
 6 print(st.rjust(50,'*'))    #将字符串放右面,左面打印50个*
 7 print(st.endswith('tty'))   #判断是否以某个内容结尾,返回布尔值
 8 print(st.startswith('h'))  #判断是否以某个内容开头,返回布尔值
 9 print(st.expandtabs(tabsize=10))    #
10 print(st.find('t'))     #查找到第一个元素,并将索引值返回,空格也算
11 st = 'hello kitty {name} is {age}'
12 print(st.format(name='alex',age = 37))      #格式化输出的另一种方式
13 print(st.format_map({'name':'alex','age':22}))      #格式化输出的另一种方式
14 print(st.index('qqq'))      #和find功能一样,只不过index找不到会报错,而find不会
15 print('126.999'.isdigit())  #必须整型,不然返回False
16 print('abc'.islower())      #判断字符串是不是都是小写
17 print('ABC'.isupper())      #判断字符串是不是都是大写
18 print(''.isspace())     #判断是否是一个空格,不是包含空格
19 print('My title'.istitle())   #判断是不是每个单词首字母大写
20 print('My title'.lower())   #将所有大写变小写
21 print('My title'.upper())   #将所有小写变大写
22 print('My title'.swapcase())   #将大小写反转
23 print(' My title  '.strip())   #将前后空格和换行符去掉
24 print(' My title  '.lstrip())   #将前面空格和换行符去掉
25 print(' My title  '.rstrip())   #将后面空格和换行符去掉
26 print('My title title'.replace('title','lesson'1))  #对某些字符进行替换
27 print('My title'.rfind('t'))    #从右面查找字符索引,索引还是从左往右的索引
28 print('My title'.split('i'))    #用i将字符分开,结果中不再包含i,i做分隔符了,通常用空格,和join是相反操作
29 print('My title'.title())   #将字符串中的英文单词首字母大写
摘一些重要的字符串方法:
 1 print(st.count('y'))    #统计y字母的个数
 2 print(st.center(50,'-'))  #打印50个-,并将字符串居中
 3 print(st.startswith('h'))  #判断是否以某个内容开头,返回布尔值
 4 print(st.find('t'))     #查找到第一个元素,并将索引值返回,空格也算
 5 print(st.format(name='alex',age = 37))      #格式化输出的另一种方式
 6 print('My title'.lower())   #将所有大写变小写
 7 print('My title'.upper())   #将所有小写变大写
 8 print(' My title  '.strip())   #将前后空格和换行符去掉
 9 print('My title title'.replace('title','lesson'1))  #对某些字符进行替换
10 print('My title'.split('i'))    #用i将字符分开,结果中不再包含i,i做分隔符了,通常用空格,和join是相反操作

 

posted on 2018-01-15 21:26  搬马  阅读(142)  评论(0编辑  收藏  举报