zoukankan      html  css  js  c++  java
  • python 之路 《三》列表与元组

      我也试着把我写的东西给我的一些同学看,其实这只是我的经验还是比较建议先看书,或者在网上找相关的教学视频有了一定的基础之后再来看我写的文章,将我的经验与自己所学的知识相结合这样才会有所提高。有的同学建议将我放在文章里面的代码块的运行结果也放在文章里面。其实我觉得假如你看懂之后最好自己对照的写一遍,自行感悟。初学者光看是看不懂的,还是有自己多练才行啊。要对自己有相信。我写的东西都是从我的笔记中摘取出来的,可以说是简化了好几遍。每一门语言都是相同的,但是每一门语言都是不同的,建议大家不要一直揪这 python与其他与语言的区别来学习。最好是把自己想象成是第一次学习程序。希望大家都可以学好python,领略python之美。

      在写此篇文章的时候我就在考虑要不要把元组与列表分开写。但是当初我自己在学的时候由于列表与数组非常的相近所以在熟悉了列表之后,对于元组几乎就是看了一下就大概会了。所以我觉得我还是有必要将两者在同一篇文章中写。再次强调,我是在我自己的笔记中简练的写出来的,有很多细节没有详细描述。希望大家夯实基础。

    1.列表

    列表是Python中最基本的数据结构。

    python与大多数语言一样都是从0开始计数的,例如c语言数组的下标。

    由于在python中字符类型大体上被分成了字符串类型与整形也就是(string    int)大体大家在使用的时候就可以清晰的感觉出。

    序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

    Python有6个序列的内置类型,但最常见的是列表和元组。

    序列都可以进行的操作包括索引,切片,加,乘,检查成员。

    此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

    列表的数据项不需要具有相同的类型

    创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

    1 age = 9
    2 list1 = ['shanghai', 'beijing', 'book']
    3 list2 = [1, 2, 3, 4, 5]
    4 list3 = ['name', 'age', 9, age]
    5 # 由此可见列表中的元素可以是多种形式
    6 # 可以是变量,可以是字符串,可以是数字(这样看来是不是比其他高级语言更加灵活?)

    1.1访问列表中的元素

    那么当我们的列表中已经有了元素之后我们该如何取值呢

    在这里我们要知道的是列表中的元素是有序的,也就是说列表中的每一个元素都有他的下标,这个下标从0开始

    1 print("list2中的第一个元素加上第二个元素等于 %s+%s=%s" % (list2[0], list2[1], list2[0]+list2[1]))
    2 # 大家可以运行这一段代码看一下结果
    3 # 值得注意的是 list2里面的元素都为数字,我们升值可以直接使用下标来使之相加,但是我们代替他的却是%s
    4 # 那么大家想想这是什么原因呢  这里我就不详细解释了,一千个观众就有一千个哈姆雷特
    5 # 还是希望大家多多思考.多多使用,这里习惯写c语言的肯定不适应

    1.2更新列表

    我们这里的更新列表就是增加或者修改列表里面的值啦

    代码块里面注释的可以详细看哦

    1 # 第一种append  append 就是按顺序追加默认从最后开始追加
    2 list3.append("uzi")
    3 # 第二种按位置插入
    4 list3.insert(1, 'mlxg') # 此时下标是1 记住是下标  原来下标为一的变成了2
    5 # 第三种改写
    6 list3[0] = 'miki'# 按下标改写

    1.3删除列表元素

    列表具有增删改查的性质由此 删除的用法为

    1 # 第一种指定删除
    2 list3.remove('shanghai') # 指定删除列表中的某个元素如果列表中没有这个元素就会报错哦
    3 # 第二种 按下标删除
    4 list3.pop() # 若括号内著名了要删除的下标则按照下标删除,若未注明则默认删除最后一个.
    5 # 第三种按位置删除
    6 del list3[0] # 此种用法是用到了del 可自行了解python中的del
     # 全部清除
    list3.clear()

    1.4查

    查找那我就直接上代码了 上代码之前我要告诉大家的是 这代码里面的list都在最上面的代码块中有定义

    # 查找列表中某个已知元素的下标
    print(list3.index('shanghai'))
    #查到之后你也可以这样用
    print(list3[list3.index('shanghai')])
    # 统计已知元素有多少个
    print(list3.count('shanghai'))
    # 按首字母排序【特殊符号》数字》字母大写》字母小写】
    list3.sort()       

    1.5 其他运用

    列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

    如下所示:

    Python 表达式结果描述
    len([1, 2, 3]) 3 长度
    [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 组合
    ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
    3 in [1, 2, 3] True 元素是否存在于列表中
    for x in [1, 2, 3]: print x, 1 2 3 迭代

    1.6列表的切片

    1 #python从0开始计数因为二进制第一位是0
    2 
    3 names = ['curry','kawayi','world pleas','miki']
    4 print(names)
    5 print(names[2])     # 取第三个从0开始计数
    6 print(names[1:3])   # 取值为左闭右开所以取出的为第二个和第三个
    7 print(names[-1])    # 倒数第一个
    8 print(names[-3:-1]) # python中只能从右往左数,不能是[-1,-3]
    9 print(names[-2:])   # 这种取法为从倒数第二个去到最后一个

    1.7其他方法

    元组的使用注意:元组的使用不同与列表的是元组不能对里面元素进行修改其他都相同。

    Python包含以下函数:

    序号函数
    1 cmp(list1, list2)
    比较两个列表的元素
    2 len(list)
    列表元素个数
    3 max(list)
    返回列表元素最大值
    4 min(list)
    返回列表元素最小值
    5 list(seq)
    将元组转换为列表

    Python包含以下方法:

    序号方法
    1 list.append(obj)
    在列表末尾添加新的对象
    2 list.count(obj)
    统计某个元素在列表中出现的次数
    3 list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4 list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
    5 list.insert(index, obj)
    将对象插入列表
    6 list.pop([index=-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7 list.remove(obj)
    移除列表中某个值的第一个匹配项
    8 list.reverse()
    反向列表中元素
    9 list.sort(cmp=None, key=None, reverse=False)
    对原列表进行排序
  • 相关阅读:
    一个关于状态机的问题
    8位同步码修改变4位同步码
    BT1120时序,可以用于自测用
    欧几理德,扩展欧几里德和模线性方程组。
    "旋转的风车"----windows(GDI)绘图
    草滩小恪的学习链接(汇总版)
    酒鬼随机漫步(一个矢量类)
    小题精炼-----初试C语言
    大二(上)------我欠青春一份疯狂
    HDU 1027 Ignatius and the Princess II(康托逆展开)
  • 原文地址:https://www.cnblogs.com/BookMiki/p/9653136.html
Copyright © 2011-2022 走看看