zoukankan      html  css  js  c++  java
  • 初始python(二)

    1. 列表list

    1.1 切片
    # 定义一个list。
    list = [1, 2, 3, 4, 5]

    从左往右读取字符(默认步长为 1 )。如:
    list[-2:-1]  # 返回一个list数据类型,[4]
    list[2]   # 返回一个int数据类型, 3

    从右往左读取字符串(默认步长为 1 )。如:
    list[-1:-2]  # 返回一个空list, []
    list[-1:-2:-1] # 步长为 -1 ,[5]

    1.2 内置list方法
    如:a = "123"
    list(a)
    # 返回的是一个列表,参数可迭代对象。里面输出的内容保持传入的可迭代对象的元素和顺序。如果参数为空,则返回一个空列表。

    1.3  xrange 和 range 的具体区别

    1.3.1 xrange 的用法(仅在python2中使用):
    xrange(开始, 结束, 步长)
    xrange 它生成一个xrange对象。

    1.3.2 比较
    range:直接生成一个列表对象。 #(在python3中,range是生成一个range对象,支持切片)
    xrange:生成一个xrange对象。操作数据大,每一次只返回单个元素,节省内存。 

    1.3.3 列表推导式的应用

    1) 取出1-10的所有值的平方。
    [x*x for x in range(10)]  # 结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

    2) 生成字符串。
    ['num %s' % i for i in range(10)]
    # 结果:['num 0', 'num 1', 'num 2', 'num 3', 'num 4', 'num 5', 'num 6', 'num 7', 'num 8', 'num 9']

    3)生成元组。
    [(x,y) for x in range(2) for y in range(2)]  
    # 双重迭代列表,在以元组的形式(x,y)组合,生成一个列表,结果是:[(0, 0), (0, 1), (1, 0), (1, 1)]

    4)生成字典。
    dict([(x,y) for x in range(4) for y in range(3)]) 
    # 第一个列表的迭代作为字典的键,第二个列表的迭代作为字典的值。结果为:
    {0: 2, 1: 2, 2: 2, 3: 2}

    3. 集合set
    集合没有顺序,故不能用切片和索引操作。

    3.1 创建集合。
    set() :可变的
    frozenset():不可变的(不能执行添加,删除等操作)

    3.2 添加操作。如:
    a = set("asd")  # 结果:{'a', 'd', 's'}

    add :
    a.add("panisme")  #按原始字符串传入。结果:{'panisme', 's', 'd', 'a'}

    update :
    a.update("panisme") #将字符串分割传入。
    #结果:{'m', 'e', 'p', 'panisme', 's', 'n', 'boy', 'i', 'd', 'a'}

    3.3 删除
    remove :
    a.remove("panisme")  # 结果:{'m', 'e', 'p', 's', 'n', 'boy', 'i', 'd', 'a'}

    3.4 判断成员关系
    in :"a" in a  # 判断字符"a" 是否在集合 a 里面,返回bool值。
    not in

    3.5 交集, 并集, 差集

    交集 :&
    并集 :|
    差集 :-

    3.6 set去重
    去除列表内容元素重复,如:
    b = [1,23,4,5,2,2,1,2]
    set(b)  # 用集合去重,返回结果:{1, 2, 4, 5, 23}
    list(set(b))  # 达到列表去重目的,得到列表:[1, 2, 4, 5, 23]

    4. 字典
    字典是无序的,它不能通过偏移来存取,只能通过键来存取。
    组成字典的键必须是不可变的数据类型,比如数字,字符串,元组等。

    4.1 创建字典
    方法一:
    {} ,如 a = {'name':'xiaoming', 'age':18}

    方法二:
    dict() , a = dict(name = 'xiaoming', age = 18)

    4.2 添加内容
    a['country'] = 'china'

    4.3 修改内容
    方法一:
    a['name'] = 'xiaohong'
    方法二:update 参数是一个字典的类型,会替换相同键的值。
    a.update({'name':'xiaolan', 'age':22})

    4.4 删除 del, clear, pop

    del a['name']  # 删除某个键以及对应的值。

    a.clear()  # 删除字典的全部元素。

    a.pop('age') # 删除某个键以及对应的值。

    4.5 keys() : 返回的是列表,里面包含的是字典的所有键。

    4.6 values() : 返回的是列表,里面包含的是字典的所有值。

    4.7 items :生成一个字典的容器 [()]

    4.8 get : 通过特定的键名来查找对应的值。
    a.get('22', 'abc')  
    # 如果没有找到键('22')所对应的值,可以在后面指定返回值('abc')

     ...

  • 相关阅读:
    大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之
    HDU 4952 Poor Mitsui(贪心)
    linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法
    POJ 1006 Biorhythms(中国剩余定理 )
    java多线程实验 滚动字
    学习鸟哥的Linux私房菜笔记(17)——Linux引导流程
    PCI的imagework已由freeview软件代替
    小强的HTML5移动开发之路(26)—— JavaScript回顾1
    小强的HTML5移动开发之路(25)—— AppCan开发环境
    小强的HTML5移动开发之路(24)—— PhoneGap Android开发环境搭建
  • 原文地址:https://www.cnblogs.com/panisme/p/8018669.html
Copyright © 2011-2022 走看看