列表元组字典用法

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表用 [ ] 标识,是 python 最通用的复合数据类型。

增:

  append() #追加到最后

  insert(3,内容)    #插入

  extend()     #将两个列表合并成一个;可迭代,分解成元素添加在末尾

删:

  .pop(0)    #按照下标删除指定的值并返回

  .remove('name')  #an元素删除指定的值

  clear()    #清除列表内的数据

  del(name[3])   #删除列表,也可以进行切片删除

改:

  L[1] = '2'  #也可进行分片赋值

查:

  name.index('123')  #返回从左边开始匹配的第一个123的索引值

  name.count('123')  #返回有几个123

 

sort()  #正向排序,反向排序L.sort(reverse=True)

对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比。在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的。
主要的区别在于,list.sort()是对已经存在的列表进行操作,进而可以改变进行操作的列表。而内建函数sorted返回的是一个新的list,而不是在原来的基础上进行的操作.

 

加号 + 是列表连接运算符,星号 * 是重复操作

 

 

元组是另一个数据类型,类似于 List(列表)。

元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

tuple = ( '123','456','789','012')
tuple2 = ('abc','def')
print(tuple[1:3])
print(tuple[1:]) #第一个往后所有的
print(tuple * 2) #重复打印两次
print(tuple +tuple2)




字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成
dict = {}
dict['abc'] = 'ABC'
tinydict = {'name':'zcy','age':'22','height':180}
print(dict['abc']) #输出键为abc的值
print(tinydict.keys()) #输出所有键
print(tinydict.values()) #输出所有值

a.setdefault("name",['z','c','y'])


删:
  name.pop('name') #删除指定的key
  name.popitem()  #随机删除一个key
  del name['name']  #同pop
  name.clear()  #清空
改:
  dict['1'] = '2'    #如果key值存在,则会替换原来的value
  dict.update(dict2)  #将dict2添加到dict中
查:
  dict['key']
  dict.get['key']    #有key则取出来,没有则default值
  
'key' in dict #在里面返回True,没有False
dict.items() #返回一个包含所有键,值 元组的列表

循环打印
for i in a:
     print(i,a[i])

for k,v in a.items():
     print(k,v)



集合
元素不可改变
天生去重
无序
  主要用于去重,关系运算

增:
  s.add('hd')

  s.discard('abc')  #删除一个存在的值
  s.pop()    #随机删除并返回
  s.remove('1')  #指定删除哪一个

for i in s:
  print(i)    #循环打印


呵呵,改你妹,集合不能改


print(a & b) # 取交集                         & interserion
print(a | b)  #取并集,所有的合并起来                  | union
print(a - b)  #取差集,我有你没有     print(b - a) #你有我没有 - difference
print(a ^ b)  #对称差集   重复的踢出去                ^ symmetric_difference

a.isdisjoint(b)  #判断是否相交
a.issubset(b)  #是否子集

a.difference_update(b)  #得到值重新赋给a  差集 
a.intersection_update(b) #得到值重新赋给a  交集


end = ' '   把行末的换行符替换为空字符


sys.stdout.write()d和print的区别


sys.stdout.write()输出不会自动换行,没有end,可用转义字符自行控制


sys.stdout.flush()刷新


     /n 换行


     /r  回车到本行首,可刷新输出


 print()  则自动换行


 


name[::-1]  #字符串反转


list.reverse()  #列表反转


 


字符串用法:


name.capitalize()  #首字母大写


name.casefold()  #字母全部变小写(德之类的)        name.lower() #也是变小写(汉英)


name.swapcase()  #大写变小写,小写变大写


name.cneter(100,'-')  #name放中间,两边-填补


name.count('a'2,8)  #统计有多少个a,可以切片


name.endswith('cy')  #判断是否以cy结尾,name.startswith('z')是否以什么开始


name.find('c')    #找c,找到返回下标,找不到返回-1  name.index('c')


name.isdigit()    #判断字符串是否只有数字组成True,False


name.islower()    #判断是否小写      name.lower()  #全变小写


name.isspace()    #检测字符串是否只有空格组成


name.isupper()    #检测是否都是大写    name.upper()  #全变大写


'-'.join(name)    #拼接成字符串,前面是以什么为分隔符


name.ljust(50,'-')  #字符串靠左,50个字符,后面填补字符


name.rjust(50,'-')  #  rjust  字符串靠右


name.strip()    #去掉字符串左右的空格  name.rstrip()   去右   name.lstrip()  去左空格

          #括号里可以填写字符


name.replace('123','678')  #把字符串里面的123改为678,后面有一个count值,可以设置改几次


name.split(',')    #字符串变列表,以什么劈开,后面有count值


name.zfill(30)    #变成30个字符,不够0补




 






posted @ 2019-05-28 13:40  凛凛七  阅读(732)  评论(0编辑  收藏  举报