• python 自动化之路 day 02


    本节内容:

    1. 列表、元组操作
    2. 字符串操作

    1. 列表、元组操作

    列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

    定义列表

    1
    names = ['Alex',"Tenglan",'Eric']

    通过下标访问列表中的元素,下标从0开始计数

    1
    2
    3
    4
    5
    6
    7
    8
    >>> names[0]
    'Alex'
    >>> names[2]
    'Eric'
    >>> names[-1]
    'Eric'
    >>> names[-2#还可以倒着取
    'Tenglan'

    切片:取多个元素  

     1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
     2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
     3 ['Tenglan', 'Eric', 'Rain']
     4 >>> names[1:-1] #取下标1至-1的值,不包括-1
     5 ['Tenglan', 'Eric', 'Rain', 'Tom']
     6 >>> names[0:3] 
     7 ['Alex', 'Tenglan', 'Eric']
     8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
     9 ['Alex', 'Tenglan', 'Eric']
    10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
    11 ['Rain', 'Tom', 'Amy'] 
    12 >>> names[3:-1] #这样-1就不会被包含了
    13 ['Rain', 'Tom']
    14 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
    15 ['Alex', 'Eric', 'Tom'] 
    16 >>> names[::2] #和上句效果一样
    17 ['Alex', 'Eric', 'Tom']
    View Code

    追加

    1 >>> names
    2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
    3 >>> names.append("我是新来的")
    4 >>> names
    5 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
    View Code

    插入

    1 >>> names
    2 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
    3 >>> names.insert(2,"强行从Eric前面插入")
    4 >>> names
    5 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
    6 
    7 >>> names.insert(5,"从eric后面插入试试新姿势")
    8 >>> names
    9 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
    View Code

    修改

    1 >>> names
    2 ['Alex', 'Tenglan', '强行从Eric前面插入', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
    3 >>> names[2] = "该换人了"
    4 >>> names
    5 ['Alex', 'Tenglan', '该换人了', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
    View Code

    删除

     1 >>> del names[2] 
     2 >>> names
     3 ['Alex', 'Tenglan', 'Eric', 'Rain', '从eric后面插入试试新姿势', 'Tom', 'Amy', '我是新来的']
     4 >>> del names[4]
     5 >>> names
     6 ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', '我是新来的']
     7 >>> 
     8 >>> names.remove("Eric") #删除指定元素
     9 >>> names
    10 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', '我是新来的']
    11 >>> names.pop() #删除列表最后一个值 
    12 '我是新来的'
    13 >>> names
    14 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
    View Code

    扩展

    1 >>> names
    2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
    3 >>> b = [1,2,3]
    4 >>> names.extend(b)
    5 >>> names
    6 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
    View Code

    拷贝

    1 >>> names
    2 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
    3 
    4 >>> name_copy = names.copy()
    5 >>> name_copy
    6 ['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy', 1, 2, 3]
    View Code

    统计

    1 >>> names
    2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
    3 >>> names.count("Amy")
    4 2
    View Code

    排序&翻转

     1 >>> names
     2 ['Alex', 'Tenglan', 'Amy', 'Tom', 'Amy', 1, 2, 3]
     3 >>> names.sort() #排序
     4 Traceback (most recent call last):
     5   File "<stdin>", line 1, in <module>
     6 TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了,擦
     7 >>> names[-3] = '1'
     8 >>> names[-2] = '2'
     9 >>> names[-1] = '3'
    10 >>> names
    11 ['Alex', 'Amy', 'Amy', 'Tenglan', 'Tom', '1', '2', '3']
    12 >>> names.sort()
    13 >>> names
    14 ['1', '2', '3', 'Alex', 'Amy', 'Amy', 'Tenglan', 'Tom']
    15 
    16 >>> names.reverse() #反转
    17 >>> names
    18 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
    View Code

    获取下标

    1 >>> names
    2 ['Tom', 'Tenglan', 'Amy', 'Amy', 'Alex', '3', '2', '1']
    3 >>> names.index("Amy")
    4 2 #只返回找到的第一个下标
    View Code

    元组

    元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

    语法

    1
    names = ("yang","jack","eric")

    它只有2个方法,一个是count,一个是index,完毕。  

    程序练习 

    请闭眼写出以下程序。

    程序:购物车程序

    需求:

    1. 启动程序后,让用户输入工资,然后打印商品列表
    2. 允许用户根据商品编号购买商品
    3. 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 
    4. 可随时退出,退出时,打印已购买商品和余额

    2. 字符串操作  

     1 >>> n3_arg
     2 {'name': 'alex', 'age': 33}
     3 >>> n3
     4 'my name is {name} and age is {age}'
     5 >>> n3.format_map(n3_arg)
     6 'my name is alex and age is 33'
     7 
     8 
     9 >>> n4.ljust(40,"-")
    10 'Hello 2orld-----------------------------'
    11 >>> n4.rjust(40,"-")
    12 '-----------------------------Hello 2orld'
    13 
    14 
    15 >>> s = "Hello World!"
    16 >>> p = str.maketrans("abcdefg","3!@#$%^")
    17 >>> s.translate(p)
    18 'H$llo Worl#!
    19 
    20 
    21 >>> b="ddefdsdff_哈哈" 
    22 >>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则
    23 True
    24 
    25 一些蛋疼的语法
    View Code
  • 相关阅读:
    【转载】25岁毕业,拿一万块月薪
    博客界面终于变成了自己比较满意的感觉
    梯度下降法
    WPF小试牛刀
    关于BOF改进方法的一些introduction
    POJ——1012
    这是个伟大的暑假
    上午的四个coding问题
    FindFirst,FindNext,FindClose学习
    TThread类初探
  • 原文地址:https://www.cnblogs.com/yangliheng/p/5966111.html
Copyright © 2020-2023  润新知