python--2、数据类型

字符串

  name='jinyudong'

  按索引取值。正向取 与 反向取

  name['3']

  'y'

  name['-3']

  'o'

  切片(若要使用倒序指定步长为-1),开始或者结束不指定即为到最边上的

  name[3:]

  'yudong'

  统计字符串长度,即字符个数。

  len(name)

  9

  成员运算。 in    ,   not in 

  'dong' in name

  True

  移除两端空格或别的字符:   lstrip   rstrip   只从左或只从右移除

  a = '    X     '

  a.strip()

  'X'

  切分:  根据特定符号把值切割为多个元素    lsplit   rsplit  从左或从右开始切分 , 可写第二个参数为切分几次

  name.split('n')

  ['ji', 'yudo', 'g']

  判断开始和结束的字符:   返回的为布尔值

  name.startswith('jin')

  name.endswith('dong')

  字符串替换:    三个参数为  old  new  count

  name.replace('jin','james',1)

  'jamesyudong'

  另一种格式化字符串的方式:

  res='{} {} {}'.format('dong',18,'male')
  res='{1} {0} {1}'.format('dong',18,'male')
  res='{name} {age} {sex}'.format(sex='male',name='dong',age=18)
查看字符出现的位置:
  name.find('i',0,4) name.index('i')
查看字符出现的次数: name.count('n',1,8)
输出连续的特殊字符:
  print(name.center(30,'-'))
  print(name.ljust(30,'*'))
  print(name.rjust(30,'*'))
  print(name.zfill(50)) #用0填充

  更改字符串字母的大小写。  upper 改为大写。  lower 改为小写。

print(name.capitalize()) #首字母大写
  print(name.swapcase()) #大小写翻转
name = 'jin yu dong'
name.title() 每个单词的首字母大写
is判断相关方法:
isdigit() 可以判断bytes和Unicode类型
isdecimal()  只支持Unicode类型。   isnumeric() 判断中文数字或者罗马数字
isalnum() 字符串由字母或数字组成
isalpha() 字符串只由字母组成

isidentifier检测字符串是否是字母开头 。 isuppper() 是否大写。 islower() 是否小写。 isspace() 是否为空。 istitle() 是否为单词首字母大写

列表、元组

  共性:都是存储一组数值,都是有序的

  区别:列表创建后可修改。元组创建后不可修改

列表操作:

  list = ['a','b','c','d']

  索引:     从0开始计算

  list[1]

  'b'

  切片:    从0开始计算,顾头不顾尾。第三个参数可设置步长

  list[0:2]

  ['a','c']

  添加:   在尾部添加一个元素

  list.append['e']

  插入:  指定插入的索引位置,跟上插入的元素

  list,insert(2,'test')

  修改:  指定索引,用赋值的方式重新定义该索引位置的值

  list[2] = 'new'

  计算元素个数:     len()  一个元素为一个单位

  len(list)

  删除元素: 三种方法-- del 变量[索引] , remove('元素值')  ,POP(索引) 默认从-1索引弹出, 弹出后会有输出可被变量使用

  del list[-1]

  list.remove('a')

  this_c = list.pop()

  一次追加多个:   定义一个列表,吧列表里的元素都追加到源列表尾部

  list.extend(['x','y','z'])

  拷贝:   用copy方法,并用新变量名做定义。    或者使用切片的方式,重新生成列表值并定义给新列表

  new_list = list.copy()

  new2_list =list[:]

  统计一个元素出现的次数:

  list.count('b')

  排序:  #3.0里不同数据类型不能放在一起排序

  list.sort()

  翻转:

  list.reverse()

  获取元素的索引:

  list.index('c')

元组操作:

   count  、 index 、 成员运算 和列表应用方法一样。

字典:

  存多个key-value键值对。key必须是不可变类型,value可以是任意类型。

  按key存取值。

  dicts[key] 获取key对应的value  。   dicts[key] = 'value'  重新给key赋值。

  统计键值对个数 ; len

  删除。  pop('key') 指定弹出该key的键值对

键keys(),值values(),键值对items()

从一个多值对象中取出所需的值
q=(1,3,6,7,9)
a,_,b,c,d = q # _会获取到一个值,该值为弃用值
a,*_,d = q

交换两个变量的值:
z=1 x=2
x,z = z,x

#利用setdefault解决重复赋值
setdefault的功能
1:key存在,则不赋值,key不存在则设置默认值
2:key存在,返回的是key对应的已有的值,key不存在,返回的则是要设置的默认值
setdefault 原理:

集合  

  关系运算,去掉重复值。用{} 定义, 可包含多个元素。 每个元素必须是不可变类型(可hash,可作为字典的key)。   里面的元素是无序的。

  集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算

|合集
&交集
-差集
^对称差集
==
>,>= ,<,<= 父集,子集  

以上所列出的数据类型均支持  in  ,  not in  关系运算

占用存储空间排序:  数字<字符串<集合<元组<列表<字典

总结:

集合:无序,即无序存索引相关信息
元组:有序,需要存索引相关信息,不可变
列表:有序,需要存索引相关信息,可变,需要处理数据的增删改
字典:无序,需要存key与value映射的相关信息,可变,需要处理数据的增删改

容器类型的 :  列表,元组,字典,集合

可变的: 列表,字典

有序的: 列表,元组,字符串

身份运算(is ,is not)

is比较的是id,而双等号比较的是值
毫无疑问,id若相同则值肯定相同,而值相同id则不一定相同
原文地址:https://www.cnblogs.com/jinyudong/p/7528890.html