首页 > 编程语言 > 详细

学习python_day2

时间:2017-01-19 19:43:33      阅读:290      评论:0      收藏:0      [点我收藏+]

本节内容

  1. 元组操作
  2. 字典操作
  3. 文件操作(初探)

 

一、元组

  1.元组其实跟列表差不多,也是存储一组数据的,只是它一旦创建,便不能再修改的。

  例如:

    names =("zhangsan","lisi","wangwu")

  它只有两个方法,一个是count,一个是index,同样它也可以切片。

  

  names = ("zhangsan","lisi","wangwu","zhangsan")
 print(names.count("zhangsan"))
  print(names.index("lisi"))
  print(names[1:])   
  print(names[:2])
      .       
       .
       .
二、字典的操作

  字典是一系列的键-值对。每个键都与一个值相关联,你可以使用键来访问与之对应的值。与键相关联的值可以是数字、字符串、列表乃至字典。
事实上可以将任何python对象用作字典的值。   
info = { "name1":"zhangsan",
     "name2":"lisi",
     "name3":"wangwu" }
  
字典的特性:
        无序的         
         key必须是唯一的,所以天生去重
1、访问字典中的值
    print(info["name2"])
       判断一个key在不在字典中
    print("names1" in info)
    返回True存在 False 不存在
    print(info.get("names1"))
  存在返回值,不存在返回None print(info.get("names","panglicai"))
可以跟个参数“panglicai”,当不存在是可以打印panglicai

2、增加键-值对

    info["names4"] = "zhaoliu"
    info["names5"] = ["zhaoliu",22]
    info["names6"] = {"names":"zhaoliu","age":22}
  
3、修改一个键-值对
    info["names5"][1] = 33
    info["names6"][names] = "plc"

4、删除
    info.pop()
    info.pop("names1") 删除后会返回删除的值
    info.pop("names7")删除不存在的会报错
    info.pop("names7","mei")当添加参数后,删除不存在的会显示指定的参数mei而不会再报错
     del删除后不会返回删除的值
    del info["names2"] 删除后的键-值对会永远消失
5、fromkeys()
     names = ["alex","jack","rain"]
     print(dict.fromkeys(names,0))
    >>{‘alex‘: 0, ‘jack‘: 0, ‘rain‘: 0}
会把names列表中的每个元素当做key 然后把指定的参数0当做value
    相当于这三个key值指向的都是同一个value可以通过id看内存的地址的方法
      print(id(n1["alex"]),id(n1["rain"]))
    >> 1512064640 1512064640
    当指定的参数是字符串或数字时,可以修改其中的值     
    n1 = dict.fromkeys(names,0)
    n1["jack"] = 2
   print(n1)     
    >>{‘alex‘: 0, ‘jack‘: 2, ‘rain‘: 0}
可以看到只有jack对应的值变了相当于(a=10 b=a a =11 b还是10的原理一样)
    当指定的参数是一个列表时修改其中的一个值,其字典中的值都会变
    n1 = dict.fromkeys(names,[1,2,3])
    n1["jack"][1] = 4
    print(n1)
    >>{‘alex‘: [1, 4, 3], ‘jack‘: [1, 4, 3], ‘rain‘: [1, 4, 3]}
    结果会把所有key相关联的value都改了
  因为当其中一个列表的值变化时它不会开辟一块新空间来存储,而是在原列表中直接修改,
并且原来的指向关系也没有发生变化,所以列表中的其中一个元素发生变化,
其他的key相关联的value也跟着变。
6、items()
   一般用于循环
    names = {"name1":"alex","name2":"rain","name3":"jack"}
    效率低
    for k,v in names.items():
     print(k,v)
    
>>name1 alex                  
     name2 rain     
   name3 jack
    相当于:for key in names:
          print(key,names[key])     
    效率高

    keys.() 只循环所有key 默认也只循环key
  values.() 只循环所有的值

7、popitem() 随机删除一个键-值对


8、setdefaul 获取键-值,如果没有则添加
   print(names.setdefaul("name4","plc"))
   如果存在name4 则显示name4对应的key,如果没有则把name4:plc 添加到names字典中
  
9、update() 合并两个字典,当新字典中出现原来字典的键但值不一样时,合并时按新的来。        


学习python_day2

原文:http://www.cnblogs.com/plc-python/p/6307736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!