• 初始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')

     ...

  • 相关阅读:
    JS—超酷时钟
    JS—简单年历表
    ZZULI 1783 简单的求和
    ZZULI 1788 小金刚的宝藏(01背包模板)
    HDU 5172 GTY's gay friends(BestCoder Round #29)
    HDU 2157 How many ways??
    HDU 5171 GTY's birthday gift(BestCoder Round #29)
    在SQL Server 中启用 FileStream
    (转载)SQL Server的一个不显眼的功能 备份文件的分割
    面向对象建模方法与数据库建模方法的比较
  • 原文地址:https://www.cnblogs.com/panisme/p/8018669.html
Copyright © 2020-2023  润新知