zoukankan      html  css  js  c++  java
  • python数据类型二(列表和元组)

    基本数据类型(list,tuple)

    一丶列表

    1.1列表的介绍

      列表是python中的基本数据类型之一,其他编程语言也有类似的数据类型,如js 中的数组,java中的数组等等,它是以[]括起来每个元素用' , '隔开而且可以存放各种数据类型:

    1 lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("","", "", ""), "abc", {"
    2":"dict字典"},{"我叫集合","集合"}]
    View Code

      列表相比于字符串.不仅可以存放不同的数据类型,而且可以存放大量的数据,32位的python可以存放 536870912个元素,64位可以存放:115921504606846975个元素,而且列表是有序的(按照你保存的顺序),有索引,可以切片方便取值.

    2.2列表的索引和切片

    列表和字符串一样也拥有索引:

    1 lst = ["海上钢琴师", "奥特曼", "咒怨", "舌尖上的中国", "穹顶之下", "金刚"]
    2 print(lst[3][2]) #
    3 print(lst[-2])  # 穹顶之下
    4 print(lst[1:4])  # ['奥特曼', '咒怨', '舌尖上的中国']
    5 print(lst[-3:-1]) # 顾头不顾尾
    6 print(lst[1::2])
    7 print(lst[-1:-5:-2])
    View Code

     列表的切片:

    1 lst = ["麻花藤", "王剑林", "⻢芸", "周鸿医", "向华强"]
    2 print(lst[0:3]) # ['麻花藤', '王剑林', '⻢芸']
    3 print(lstt[:3]) # ['麻花藤', '王剑林', '⻢芸']
    4 print(lst[1::2]) # ['王剑林', '周鸿医'] 也有步⻓
    5 print(lst[2::-1]) # ['⻢芸', '王剑林', '麻花藤'] 也可以倒着取
    6 print(lst[-1:-3:-2]) # 倒着带步⻓
    View Code

    二丶列表的增删改查

    1.增,注意,list 和str是不一样的,lst 可以发生改变,所以直接在原来的对象上进行了操作

    1 lst = ["赵四", "施瓦星格", "黄渤", "郭达森", "赛利亚"]
    2 # 在屁股后面添加
    3 lst.append("黄宏") # 在原有的基础上进行的操作
    4 # 在xxx位置插入xxxx内容
    5 lst.insert(1,"王力宏")
    6 lst.extend(["麻花藤", "马云", "王健林", "许家印"]) # 迭代添加
    7 print(lst)
    View Code

    2.删除 (pop,remove,clear,del)

     1 # 删除
     2 data = lst.pop(2) # 返回被删除的数据
     3 print(data)
     4 print(lst)
     5 
     6 lst.remove("赵四") # 删除元素.
     7 lst.remove("刘能") # 如果不存在会报错
     8 
     9 # 切片删除
    10 del lst[1:3]
    11 
    12 # 清空
    13 lst.clear()
    14 print(lst)
    View Code

    3.修改(索引切片修改)

    1 lst = ["王者农药", "魔兽世界", "DNF", "逆水寒", "反恐精英"]
    2 lst[0] = "扫雷"
    3 print(lst)
    4 lst[3] = "吃鸡"
    5 lst[1:3] = ["跑跑卡丁车"]  # 先删除后添加
    6 lst[1::2] = ["QQ华夏","QQ三国"] # 切片修改的时候. 如果步长不是1. 注意元素的个数
    7 print(lst)
    View Code

    4.查询.列表是一个可迭代对象可以进行for循环

    1 lst = ["锅包肉", "好人家火锅", "巫山烤鱼", "清水煮白菜", "烤鸭"]
    2 for el in lst: # element(元素)
    3     print(el)
    View Code

    5.其他操作

     1 lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
     2 c = lst.count("太⽩") # 查询太⽩出现的次数
     3 print(c)
     4 lst = [1, 11, 22, 2]
     5 lst.sort() # 排序. 默认升序
     6 print(lst)
     7 lst.sort(reverse=True) # 降序
     8 print(ls)
     9 lst = ["太⽩", "太⿊", "五⾊", "银王", "⽇天", "太⽩"]
    10 print(lst)
    11 lst.reverse()
    12 print(lst)
    13 l = len(lst) # 列表的⻓度
    14 print(l)
    View Code

    三丶列表的嵌套

      采用降维度操作.一层一层的看

    1 lst = ["alex", "gay","wusir",["范冰冰","李冰冰",[1, "火锅", "ritian", "凤爪"],"王冰冰"]]
    2 # print(lst[3][2][1]) # 火锅
    3 lst[3][2][2] = lst[3][2][2].upper()
    4 print(lst)
    5 
    6 lst[3][2][0] = lst[3][2][0] + 99
    7 print(lst)
    View Code

      列表的相关操作

    1 lst = [1,5,3,4,3,2,44,3,2,22]
    2 lst.sort(reverse=True) # 排序. 默认升序, reverse=True 降序
    3 print(lst)
    4 
    5 lst = ['晓雪',"小茹", "小花","晓梅"]
    6 # lst.reverse() # 翻转
    7 # print(lst)
    8 
    9 print(len(lst))
    View Code

    四丶元组和元组嵌套

      元组:俗称不可变的列表,又被称为制度列表,元组也是python 的剧本数据类型之一,用小括号括起来,里面可以放任何数据类型的数据,车讯可以.循环也可以,切片也可以,但是就是不能改

     1 print((1+3)*5)
     2 print((3))
     3 tu = (3, ) # 元组中如果只有一个元素. 需要在括号里写一个,
     4 tu = tuple() # 空元组
     5 print(type(tu))
     6 
     7 tu = ("人民币", "美元", "英镑", "欧元")
     8 tu.append("哈哈")
     9 tu[0] = "日元" # 不予许修改
    10 del tu[2] # 删除也不行
    11 
    12 print(tu[2]) # 索引可以用
    13 print(tu[::2])
    14 
    15 for el in tu:
    16     print(el)
    View Code

      关于不可变,注意:这里的元组的不可变得意思是子元素不可变,而子元素内部的子元素是可以变,这取决于子元素是否有可变对象.

       元组中如果只有一个元素,一定要添加一个逗号,否则就不是元组

    tu = (1,)
    print(type(tu))

          元组的第一层是不能进行赋值的. 内部元素是没有要求

    1 tu = (1, "哈喽", "how are you?", "alex", ["alex"])
    2 tu[3].upper()
    3 print(tu)
    View Code

      元组也有count(), index(), len()等⽅法.

    五丶range 

      range可以帮我们的得到一组数据,通过for循环能够获取到这些数据

     1 range()是一个可迭代对象
     2 1. range(n)  0 -> n-1
     3 for i in range(10):
     4     print(i)
     5 2. range(m,n) m -> n-1
     6 for i in range(1,10):
     7     print(i)
     8 3. range(m,n,q) m -> n-1 每q个取一个
     9 for i in range(1,10,3):
    10     print(i)
    11 
    12 for i in range(100, 90, -1):
    13     print(i)
    View Code

       ps:取元素值,和索引的示例

    1 #       0        1      2         3            4        5
    2 lst = ["砂锅", "馒头", "盖浇饭", "刀削面", "大麻花", "大煎饼"]
    3 # 获取到列表的索引. 拿到索引之后. 可以拿到元素
    4 for i in range(len(lst)):
    5     print(i)    # i就是lst的索引
    6     print(lst[i])
    7 # for el in lst:
    8 #     print(el)
    View Code
  • 相关阅读:
    Sip协议中的严格路由和松路由
    读书有感(转)
    c# ini文件操作类(简单配置文件)
    android ApiDemos学习1 主界面动态ListView显示
    android 长度单位
    ArcGIS Engine 常用方法
    android simcard
    android 屏蔽home键操作
    android activity
    android ListView
  • 原文地址:https://www.cnblogs.com/xintiao-/p/9396111.html
Copyright © 2011-2022 走看看