设为首页 收藏本站
查看: 807|回复: 0

[经验分享] python列表,元组,字典

[复制链接]

尚未签到

发表于 2018-8-8 07:13:44 | 显示全部楼层 |阅读模式
  列表:
  a = ['a', 'b', 'c', 'abc', 1, 2, 3]
  print a
  # append默认添加在最后
  a.append(4)
  print a
  输出:['a', 'b', 'c', 'abc', 1, 2, 3, 4]
  # index方法能够查看列表中4这个元素的下标索引是多少
  print (a.index(4))
  输出:7
  # 使用insert方法能够向列表中插入元素
  a.insert(2,'hh')
  print a
  输出:['a', 'b', 'hh', 'c', 'abc', 1, 2, 3, 4]
  # 默认删除最后一位,可以添加下标删除
  a.pop(7)
  print a
  输出:['a', 'b', 'hh', 'c', 'abc', 1, 2, 4]
  # 使用remove方法能够删除掉列表中a这个元素
  a.remove('a')
  print a
  输出:['b', 'hh', 'c', 'abc', 1, 2, 4]
  # 使用sort方法可以针对列表进行排序,但是列表中需要全是数字或字符串,不能既有数字也有字符串
  b = [1, 2, 8, 9, 5, 6, 7]
  b.sort()
  print (b)
  输出:[1, 2, 5, 6, 7, 8, 9]
  # 使用reverse可以针对列表进行反序排序
  b.reverse()
  print(b)
  输出:[9, 8, 7, 6, 5, 2, 1]
  字符串,可以进行索引和切片操作,字符串是不可变的,可迭代的
  a=‘abcd’
  a[0] 为a
  a[2] 为c
  a[0:2] 为ab    (从0开始取2个,省略0为从第一个开始,省略最后为直接取到最后一个)
  a[0:4:2] 为ad    (从0开始取,取到第4个,步长为2)
  列表[],可变类型的数据结构,可增加删除和改变列表中的值,可迭代的
  list1=['a',1,(1,),['hello','world']]
  list1[1] 为1
  list1.append('123')    向列表里面追加一个对象
  list1.instert(1,‘abc’)    (向list1列表中下标为1的位置添加一个abc对象)
  del可以删除字符串、列表和元组等
  del list1[4]    (删除list1列表中的第四个元素)
  list1.remove(1)    (会删除列表中第一个为1的元素)
  list1.reverse()    (将list1整个列表反转)
  list1.pop()    (不加下标默认从最后一个删除,加了下标删除下标的元素,删除后会输出删除的元素内容)
  list1.extend('abcd')    (向列表中迭代追加a,b,c,d四个元素)
  zip(list1,list2)    (将列表1和列表2组合成一个新的列表)
  针对字符串的操作也可以针对列表进行操作
  可迭代的内容都可以通过for循环来进行访问
  元组
  可以使用索引和切片,与字符串相同,是不可变的,可迭代的
  t=('a',1,(2,))    (元组中可以存字符串,数字,变量和元组等;元组必须加,才是元组)
  first,second,third=t    (可以使用这种方法来接受元组中的值,也叫元组的拆分)
  # 使用count可以查看某个元素的数量
  tuple1=(1, 2, 3, 'abc', '789')
  print (tuple1.count(3))
  输出:1
  # 使用index方法能够查看某个元素的下标
  print (tuple1.index('789'))
  输出:4
  字典
  字典{}
  字典是python中的唯一的映射类型(哈希表)
  字典对象是可变的,但是字典的键必须使用不可变对象且键值不能重复,一个字典中可以使用不同类型的键值
  dic1 = {'a':1, 1:123, (1,):'abc'}
  dic[1] 为123    访问字典中的元素
  len(dic1)    查看字典中有多少元素
  dic1.keys()    查看dic1字典中的所有键值
  dic1.get('a')    返回键值为1的元素的值
  ‘a’ in dic1    可以用in来判断键值是否在字典中
  dic1.has_key('a')    同上
  dic1.values()    返回dic1中的所有元素
  dic1.items()    将字典中的key和value保存到一个元组中,并将元组存为一个列表
  dic1.iteritems()    同items()方法,以对象形式返回字典里的key和value
  dic2 = dic1.copy()    拷贝
  dic1.pop(1)    删除字典中key为1的key和value,并返回value,如key不存在则返回keyerror
  dict(zip(list1, list2))    可将合并后的列表创建为字典
  dict((['a',1],['b'],2))    可直接创建字典
  dict(a=1,b=2)    可直接创建字典
  dic.fromkeys(range(100),100)    创建字典,value可以为none
  for k, v in dic1:    使用for遍历字典里面的key和value
  print "%s , %s" % (k, v)
  字典练习
  #!/usr/bin/python
  #coding=utf-8
  dic = {}
  name = raw_input("Please input you name: ")
  age = raw_input("Please input you age: ")
  xingbie = raw_input("请输入你的性别:(M/W)")
  time.sleep()
  dic['name'] = name
  dic['age'] = age
  dic['xingbie'] =xingbie
  print dic
  a1={ 'a':1,'b':2,'c':3 }
  print (a1)
  # 使用get方法,获得字典中key的value,如果字典中key没有对应的value,则会显示none
  print(a1.get('a'))
  输出:1
  # 使用setdefault方法,也可以获得字典中key的value,如果字典中key没有对应的value,则会显示none,但是可以在后面加上参数,如果没有value则会显示后面加的参数
  print(a1.setdefault('c'))
  输出:3
  print(a1.setdefault('d', 123))
  输出:123
  # 使用keys方法可以获取字典中的所有key值
print(a1.keys())  输出:dict_keys(['b', 'a', 'c'])
  # 使用values方法可以获取字典中的所有values
print(a1.values())  输出:dict_values([1, 2, 3])
  # 可能实际操作中比较消耗内存
  dic1.items()    将字典中的key和value保存到一个元组中,并将元组存为一个列表
  # 取出的值是一个对象,必须遍历后才能取出对象的值
  dic1.iteritems()    同items()方法,以对象形式返回字典里的key和value
  # 使用formkeys可以把l列表作为n字典的key值,将后面的参数作为n字典的value
l = ['a', 'b', 'c']  m = {}
  n = m.fromkeys(l, 789)
  print (n)
  # 使用zip方法将两个列表叠加成一个字典

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-548366-1-1.html 上篇帖子: python_day10_并发编程 下篇帖子: python 修改豆瓣pip源
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表