• python入门教程基础篇:数据类型


    Python 中有四个非常常用的数据类型,分别是字符串,列表,元组和字典。下面就来介绍这四个基本的数据类型。

    字符串

    Python 对字符串的处理是非常强的,所以掌握一些 Python 对字符串的基本操作是非常有必要的.

    字符串表示

    赋值

    str='hello'

    填字符串

    str="%d little pigs come out or I'll %s and %s and %s"% (3,'huff','puff','blow down')

    转换

    pi =3.14

    print'pi = '+str(pi)

    常用方法

    大小写转换

    str.lower()str.upper()

    去除首尾空格

    str.strip()

    判断字符里所有的字符是不是字母/数字/空格

    str.isalpha()

    str.isdigit()

    str.isspace()

    判断字符串是不是以某个子串开头/结尾

    str.startswith(' ')

    str.endswith()

    查找子串在字符串中的位置,没找到返回-1

    str.find('th')

    字符串的替换

    str.replace('old','new')

    字符串的分割,返回 list

    str.split('delim')'delim'.join(list)

    编码问题

    在 Python2 里面默认都是用 unicode 编码的,而 windows 里面的文件默认是 gbk 编码,而 linux 里面的文件默认的是 utf8 编码,所以编码之间的转换是必不可少的.

    定义unicode字符串

    ustr =u'A unicode \u018e string \xf1'

    转换utf-8编码

    utfstr = ustr.encode('utf-8')

    转换会unicode编码

    unistr = unicode(utfstr,'utf-8')

    列表

    列表是 Python 里面一个很重要的数据结构,也是非常常用的一个数据结构.

    链表的表示

    初始化

    colors = ['red','blue','green']

    扩展

    # 选择链表fruits中包含字符'a',并全部转换成大写

    fruits = ['apple', 'cherry', 'bannana', 'lemon']

    # ['APPLE', 'BANNANA']

    afruits = [ s.upper() for s in fruits if 'a' in s ]

    list 常用方法

    添加元素

    list.append(elem)

    在i位置添加元素 elem

    list.insert(i,elem)

    将 list2 中的元素添加到 list 中

    list.extend(list2)

    获取元素 elem 的索引号

    list.index(elem)

    删除第一个出现的元素 elem

    list.remove(elem)

    删除第 i 个元素

    list.pop(i)

    给 list 排序

    list.sort()

    颠倒 list

    list.reverse()

    链表排序

    sorted 基本方法

    a = [5, 1, 4, 3]

    print sorted(a)  ## [1, 3, 4, 5]

    print sorted(a, reverse=True)  ##[5, 4, 3, 1]

    print a          ## [5, 1, 4, 3]

    sorted 按关键字排序

    以字符串的长度排序

    strs = ['ccc', 'aaaa', 'd', 'bb']

    print sorted(strs, key=len)  ## ['d', 'bb', 'ccc', 'aaaa'] #len代表len()这个函数

    其函数处理细节见下图:

    以自定义关键字函数排序

    # 根据字符串最后一个字符来排序

    strs = ['xc', 'zb', 'yd' ,'wa']

    # 定义一个函数,输入是一个字符串,返回最后一个字符

    def MyFn(s):

        return s[-1]

    # 传递key=MyFn作为参数

    print sorted(strs, key=MyFn)  ## ['wa', 'zb', 'xc', 'yd']

    元组

    元组就相当于数组.其元素的大小无法改变.

    元组表示

    赋值(用圆圆括号包含元素)

    tuple = (1, 2, 'hi')

    print len(tuple)  ## 3

    print tuple[2]    ## hi

    更改元素

    # 报错,元组元素无法更改

    tuple[2] = 'bye'

    # this works

    tuple = (1, 2, 'bye')

    字典

    字典表示

    赋值

    # 可以以{}开始构建空字典,然后以赋值的形式给字典添加键值对

    dict = {}

    dict['a'] = 'alpha'

    dict['g'] = 'gamma'

    dict['o'] = 'omega'

    print dict  ## {'a': 'alpha', 'o': 'omega', 'g': 'gamma'}

    查看和更改元素

    print dict['a'] # 查看'a'对应的值 'alpha'

    dict['a'] = 6      # 给'a'重新赋值

    if 'z' in dict: print dict['z']    # 避免报错

    print dict.get('z')  # None (instead of KeyError)

    字典方法

    获取字典关键字

    dict.keys()

    获取字典值

    dict.values()

    获取字典键值对(返回的是一个元组链表)

    dict.items()

    循环中获取键和值

    for k,v in dict.items():

        print k, '>', v

    删除元素(对 list 也适用)

    dict = {'a':1, 'b':2, 'c':3}

    del dict['b']  # 删除'b'元素

    print dict      ## {'a':1, 'c':3}

    字典排序

    sorted 方法

    dict1={'A': 9, 'C': 5, 'B': 1, 'E': 14, 'D': 3, 'G': 3, 'F': 3, 'I': 9, 'H': 7, 'J': 1, 'L': 2, 'O': 8, 'N': 3, 'P': 4, 'S': 10, 'R': 5, 'U': 1, 'T': 17, 'W': 1, 'V': 1}

    #对字典按值排序,以元组的形式返回

    print sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=True)

    #对字典按键排序,以元组的形式返回

    print sorted(dict1.iteritems(),key=lambda dict1:dict1[0],reverse=False)

  • 相关阅读:
    【若依】定时任务问题:关闭了定时任务,但是依然在跑,且同一时刻跑了多条记录,为什么?
    JVM内存模型(面试题)
    django梳理
    一篇文章带你理解Thread(多线程)的基础用法
    Maven 生命周期,仓库概念和打包命令区别(package、install、deploy)
    srpingMVC基本使用
    搞定面试官 - 可以介绍一下在 MySQL 中你平时是怎么使用 COUNT() 的嘛?
    复制粘贴(一):copy paste 事件
    cpu实时数据是什么意思?
    【FPGA零基础学习之旅#17】搭建串口收发与储存双口RAM系统
  • 原文地址:https://blog.csdn.net/z099164/article/details/122700179