python学习记录2 (列表 字典 元组 字符串 集合)

python中常用数据类型有列表(list)、字典(dictionary)、元组(tuple)、字符串(string)和集合(set)
其中字典、集合是无序的,列表、元组、字符串是有序的

在这里插入图片描述

列表

  • 基本操作

    列表可以直接赋值

    a = [3,-1,1]
    

    可利用for循环遍历列表里的数据

    >>>for element in a:
           print(element)
    3
    -1
    1
    

    可以像数组一样查看每个元素

    >>>a[0]
    3
    

    但有所不同的是它可以用负数代表倒数第n个元素

    >>>a[-1]
    -1
    
  • 列表分片(前闭后开)

    在列表后方括号中使用冒号指定两个索引

    索引从1到3(不包括3)

    >>>s = [1,2,3,4]
    >>>s[1:3]
    [2,3] 
    

    没有开始索引自动从0开始

    >>>s[:2]
    [1,2]
    

    没有结束索引自动到末尾

    >>>s[2:]
    [3,4]
    

    从头到尾

    >>>s[:]
    [1,2,3,4]
    
    带步长分片

    列表名[起:止:步长]

    >>>s[2:0:-1]
    [3,2]
    
    >>>s[2: :-1]
    [3,2,1]
    

    可以使用与列表分片相同的方式分片字符串

  • 删除列表

    del 列表名[索引号],删除指定位置的元素

    >>>del s[1]
    >>>s
    [1,3,4]
    

    列表名.remove(data),删除第一个出现的指定元素

    >>>s = [1,2,3,4,1]
    >>>s.remove(1)
    >>>s
    [2,3,4,1]
    

    列表名.pop(index),删除指定位置的元素(默认末尾元素)

    >>>s.pop()
    >>s
    [2,3,4]
    
  • 修改列表

    列表名[索引号] = 新值

    >>>s[0] = 5
    >>>s
    [5,3,4]
    

    直接替换某段

    >>>s[0:2]=[8,9]
    >>>s
    [8,9,4]
    
  • 插入列表

    在指定位置插入元素:列表名.insert(插入位置索引号,新元素)

    >>>s.insert(1,7)
    >>>s
    [8,7,9,4]
    

    插入多个元素

    >>>s[:0]=[1,2]
    >>>s
    [1,2,8,7,9,4]
    

    在末尾追加数据:列表名.append(元素)

    >>>s.append(3)
    >>>s
    [1,2,8,7,9,4,3]
    

    在列表1末尾追加列表2:列表1.extend(列表2)

    >>>s1 = [9,10]
    >>>s.extend(s1)
    >>>s
    [1,2,8,7,9,4,3,9,10]
    
  • 清空列表
    >>>s.clear()
    >>>s
    None
    
  • 列表排序

    sort()是列表内置的方法,没有返回值,将列表排序,列表变化了

    sorted是全局内置的方法,有返回值,返回对可迭代序列排序后的新对象,但是原来的序列不变

    >>>list1 = [10, 20, 4, 45, 99]
    >>>print(sorted(list1))
    [4, 10, 20, 45, 99]
    >>>print(list1)
    [10, 20, 4, 45, 99]
    >>>print(list1.sort())
    None
    >>>print(list1)
    [4, 10, 20, 45, 99]
    
    # 降序排序
    >>>list1.sort(reverse=True)
    >>>list1
    [99, 45, 20 , 10, 4]
    
  • 列表反转
    >>>list1.reverse()
    >>>list1
    [4, 10, 20, 45, 99]
    
  • 查找列表中最大/最小的元素
    >>>print(min(list1))
    4
    >>>print(max(list1))
    99
    

字典

字典由key和value组成

  • 基本操作

    d={}
    #key:value
    
    >>>d["Tom"]=32
    
    >>>print(d["Tom"])
    32
    >>>print(d)
    {'Tom': 32}
    
    >>>d["Jenny"] = 16
    >>>print(d)
    {'Ton':32,'Jenny':16}
    
    # 获取键值对数量
    >>>len(d)
    2
    
  • 修改字典

    字典名[键] = 新值,若key存在修改value;若key不存在,新建键值对
    字典名.setdefault(key,value),若key存在不会修改value;若key不存在,新建键值对

  • 删除字典

    del 字典名[键] ,删除指定键值对,key不存在报错
    dict.pop(key) 删除指定键值对,key不存在报错
    dict.popitem() 随机删除一个键值对

  • 合并字典

    d2.update(d1)

    >>>d1 = {'Mike':8, 'John':11}
    >>>d2 = {'Marry':6,'Alice':14}
    >>>d2.update(d1)
    >>>print(d2)
    {'Marry': 6, 'Alice': 14, 'Mike': 8, 'John': 11}
    
  • 按键(key)或值(value)对字典进行排序
    d = {'Mike':8, 'John':11, 'Marry':6,'Alice':14}
    
    print ("按值(value)排序:") 
    print(sorted(d.items(), key = lambda i:(i[1], i[0])))
    
    print ("按键(key)排序:") 
    for i in sorted (d) : 
    	print ((i, d[i]), end =" ") 
    '''
    按值(value)排序:
    [('Marry', 6), ('Mike', 8), ('John', 11), ('Alice', 14)]
    按键(key)排序:
    ('Alice', 14) ('John', 11) ('Marry', 6) ('Mike', 8) 
    '''
    
  • get()
    get() 函数返回指定键的值。

    dict.get(key, default=None)
    

    key – 字典中要查找的键。
    default – 如果指定键的值不存在时,返回该默认值。

元组

元组的元素不能修改,使用()定义,用‘,’分隔

  • tuple.count(data) 数据在元组中的出现次数
  • tuple.index(data) 获取数据第一次出现的位置

字符串

  • split拆分字符串

    split方法默认以空格为分割拆分字符串,可将字符串拆分为列表

    >>>str_text="who are you"
    >>>str_text.split()
    ['who', 'are', 'you']
    
    #以','分割拆分字符串
    >>>str_text="i,am,a,student"
    >>>str_text.split(",")
    ['i', 'am', 'a', 'student']
    
  • 基本操作
    >>>str = 'hello python'
    
    # 字符串长度
    >>>len(str)
    12
    
    # s在str中出现的次数
    >>>str.count('o')
    2
    
    # s在str中第一次出现的位置
    >>>str.index('o')
    4
    
  • 判断类型

    str.isspace() 判断是否全为空格
    str.isalnum() 判断是否全为数字或全为字母
    str.isalpha() 判断是否全为字母
    str.isdigit() 判断是否全为数字
    str.istitle() 判断是否每个单词首字母都大写
    str.islower() str至少包含一个区分大小写的字母,并且该字母小写,返回True
    str.isupper() str至少包含一个区分大小写的字母,并且该字母大写,返回True

  • 查找和替换

    str.startwith(s) 是否以s开头
    str.endwith(s) 是否以s结尾
    str.find(s,start=0,end=len(str)) 检测s是否包含在str中,若是返回开始的索引值,否则返回-1
    str.rfind(s,start,end) 从右开始检测s是否包含在str中
    str.replace(old_s,new_s,num=str.count(old) 把old_s替换为new_s

  • 大小写转换

    str.capitalize() 把字符串第一个字符大写
    str.title() 把每个单词的首字母大写
    str.lower() 把所有字母都小写
    str.upper() 把所有字母都大写
    str.swapcase() 翻转str中的大小写

  • 去除空白字符

    str.lstrip(char) 截掉string左边开始的空白字符,可去除字符char
    str.rstrip(char)
    str.strip(char)

  • 拆分和链接

    str.partition(s) 把str分成元组(s前,s,s后)
    str.rpartition(s)
    str.split(s=’ ',num) 以s为分隔符拆分str,若num有指定值,只分隔n+1个子字符串
    str.splitlines() 换行
    str.join(seq) 以str作分隔符,将seq中所有字符以str分隔开

集合

  • 初始化集合
    s = set()
    # 添加x到set
    x = {1,2,3}
    s.update(x) 
    
  • 添加元素

    s.add(data)

    >>>s.add(4)
    >>>s
    {1,2,3,4}
    
  • 拷贝集合

    x.copy(s)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶柖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值