首页 > 其他分享 >字符串、列表、元组、集合

字符串、列表、元组、集合

时间:2023-04-01 11:46:49浏览次数:42  
标签:下标 list 列表 字符串 元组 数据 字典

一、字符串

  1、定义

    使用引号(单引号、双引号、三引号)引起来的内容,就是字符串。

  2、例子

#1、单引号
str1 = 'abc'
#2、双引号
str2 = "abc"
#3、三引号
str3 = '''abc'''

#4、定义字符串,
# 字符串本身包含单引号,定义的时候不能使用单引号。字符串本身包含双引号,定义的时候不能使用双引号(也可使用转义字符)
str4 = 'I\'m小明'

  3、下标(索引)

    数据在容器中的位置(字符串、列表、元组)

    一般来讲,使用的是正数下标,从0开始

    作用:可以通过下标来获取具体位置的数据

    Python中是支持负数下标,-1 表示最后一个位置的数据

  4、切片

    使用切片操作,可以一次性获取容器中的多个数据(多个数据之间存在一定的规律,数据的下标是等差数列)

    语法:容器 [start : end : step]  (如果start开始位置下标为0,则可省略。end这个位置的下标对应的数据是不能取的,如果步长为-1,则反转为逆序输出字符串)

  5、字符串查找方法

    语法:字符串 . find(sub_str)    

    返回:存在返回数据下标,不存在返回-1

  6、字符串的替换

    语法:字符串 . replace(old, new, count)     (count一般不写,表示全部替换。可以指定替换的次数)

    返回:会返回一个替换后的完整字符串,并且原字符串不会改变

  7、字符串拆分

    语法:字符串 .split(sep)  (字符串将按照指定字符串sep进行分割,如果按照空格分割就不需要写sep)

    返回:列表,列表中的数据就是分割后的字符串,且sep不会出现在列表中

  8、字符串的连接

    语法:字符串 .join(容器)       (容器一般是列表,将字符串插入到列表相邻的两个数据之间,组成新的字符串)

    注意:列表中的数据必须都是字符串

str = ["hello","python","and","list"]
#将容器中的数据使用空格连接起来
str1 = " ".join(str)
print(str1)
#结果为:hello python and list

  

二、列表和元组

  1、列表的定义

    列表,list,使用 []

    列表可以存放任意多个数据,且可以存放任意类型的数据,列表中数据使用逗号隔开

#1、定义空列表
list1 = list()
#2、定义非空列表
list2 = list("abcd")
#3、直接使用[]
list3 = []
#4、定义非空列表
list4 = [1,"hello","我"]

  2、列表支持下标和切片

    同字符串

  3、列表查询方法

    index( n ) 方法。n为数据的下标。与字符串里面的find作用一样,找到同样是返回下标,找不到即报错

    count() 方法。找到数据在列表中出现的次数

  4、列表添加和删除

    列表 . append(数据)    #在列表的尾部添加数据。直接在原列表中添加数据,不会生成新的列表。

    列表 . pop(index)      #根据下标删除列表中的数据,index下标可以不写,默认删除最后一个。且返回删除的数据

  5、列表修改和反转方法

    修改:列表[index] = 新数据

    反转:列表 [::-1]  得到一个新的列表,原列表不会改动

       列表 . reverse()  直接修改原列表数据

  6、列表的排序

    列表 . sort()    #列表中的数据要一致,升序,从小到大,直接在原列表中进行排序

    列表 . sort(reversed=True)    #列表中的数据要一致,降序,从大到小,直接在原列表中进行排序

  7、列表的嵌套

    列表就是嵌套, 就是指 列表中的数据都是列表

list_student = [["张阿三",18,"机械"],["李阿四",19,"自动化"]]
print(list_student[0][2])

 

三、元组

  元组,tuple,使用()定义

  元组和列表相似,都可存储多个数据,可以存储任意类型,区别就是元组中的数据不能修改,列表数据可以修改

  查询方法与列表一样

  主要用于传参和返回值

 

  面试题:交换两个变量的值

    1、在定义元组的时候,小括号可以省略不写,叫组包。将多个数据值组成元组的过程 a=1,2  #a = (1,2)

    2、拆包,将容器中的多个数据,分别给到多个变量,需要保证容器中元素的个数和变量的个数保持一致

a = 10
b = 20
c = b,a #组包
a,b = c #拆包

#交换变量
a,b = b,a

 

四、字典dict

  1、定义(无下标)

    字典,dict,使用 {}

    字典由键(key)值(value)对组成

    一个键值对就是一组数据,多个键值对之间使用逗号隔开。且键不能重复,值无所谓,主要为字符串类型,数字也可以

  2、字典的添加、修改、删除、查询

    添加,修改:字典["键“] = 值   (键存在,修改。键不存在就添加)

    删除:字典的删除,根据字典的键,删除键值对

       字典 . pop("键")

    查询:字典["键"] 如果键不存在就会报错

       字典.get(键)  如果键不存在就返回none

  3、遍历

    字典存在 键,值,遍历分三种情况

    遍历键:

      for 变量 in 字典:

      for 变量 in 字典 . keys():     可以获取字典所有的键

    遍历值

      for 变量 in 字典 . values():          可以获取字典所有的值

    遍历键和值

      for 变量1,变量2 in 字典.items():          获取键值对,变量1为键,变量2为值

  

五、集合

  set ()

  集合中的数据不能重复,即没有重复数据,对列表进行去重操作,通过类型转换,然后转换回来

my_lsit = [1,1,23,14,45,6,6]
list1 = list(set(my_lsit))
print(list1)

  方式二

my_lsit = [1,1,23,14,45,6,6]
new_list = []
#遍历原列表
for i not in my_lsit:
    new_list.append(i)
print(new_list)

 

 

 

  

    

 

标签:下标,list,列表,字符串,元组,数据,字典
From: https://www.cnblogs.com/wmtly/p/17278319.html

相关文章

  • 算术三元组的数目
    给你一个下标从0开始、严格递增的整数数组nums和一个正整数diff。如果满足下述全部条件,则三元组(i,j,k)就是一个算术三元组:i<j<k,nums[j]-nums[i]==diff且nums[k]-nums[j]==diff返回不同算术三元组的数目。示例1:输入:nums=[0,1,4,6,7,10],......
  • 项目一众筹网06_01_【权限控制】角色和权限分配、Admin分配Role、Role分配Auth、前端j
    系列文章目录众筹网文章目录系列文章目录01-角色和权限分配-引入02-Admin分配Role-目标和思路03Admin分配Role创建中间表有些表是不需要实体类的自然也就不需要做逆向工程04-Admin分配Role-前往分配页面-handler方法05-Admin分配Role-前往分配页面-Service方法和SQL06-Admin分......
  • HJ65 查找两个字符串a,b中的最长公共子串_穷举查找字符串相同子串
    思路:1、穷举查找字符串子串2、把相同子串存入数组3、生成新数组存储对应index的子串长度4、返回第一个最长数组index,通过index查找子串输出。1importsys2s1=sys.stdin.readline().strip()3s2=sys.stdin.readline().strip()4iflen(s2)<len(s1):5temp=s1......
  • 记录使用mybatis时踩到的坑-integer类型数据为0时,会判断为:等于空字符串为true
    因为做查询操作时,需要设置为传入参数值才进行查询,于是判断条件是:status!=nullandstatus!=''即mapper层的写法:<iftest="status!=nullandstatus!=''">andstatus=#{status}</if> 但设计表时,默认status=0表示正常状态,status=1表示其他状态。当传入status=0进......
  • 跟着查老四学Python Day 4:列表推导式 生成器 迭代器
    忽略掉例行寒暄,让查老四直接讲课了列表推导式(ListComprehension)列表推导式是一种简洁的构建列表的方法。它可以将一个循环和条件表达式结合起来,从而生成一个新的列表。示例:#普通循环创建一个列表squares=[]forxinrange(1,6):squares.append(x**2)print(squares)......
  • 字符串和json对象之间的转换关系——一定不要再导错包
    添加依赖<!--fastjson依赖--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.33</version></dependency>  一定不要导错包  字符串转换为json对象importcom.ali......
  • 0204 字符串相加
    字符串的+操作​ 当+操作中出现字符串时,这个+就是字符串连接符,而不是算术运算符了,会将前后的数据进行拼接,并产生新的字符串。连续加时​ 连续进行+操作时,从左到右逐个执行,只要在前面出现过字符串的+操作,后面即使出现数字相加也会视为字符串相加System.out.println("abc"+tru......
  • 567. 字符串的排列
    力扣题目链接给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。换句话说,s1 的排列之一是 s2 的 子串 。示例1:输入:s1="ab"s2="eidbaooo"输出:true解释:s2包含s1的排列之一("ba").示例2:输入:s......
  • day8| 344.反转字符串;541.反转字符串II;剑指offer 05.替换空格;151.翻转字符串里的单词
    344.反转字符串 题目简述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组,使用O(1)的额外空间解决这一问题。 解题思路:没什么好说的,直接双指针 代码如下:classSolution:de......
  • 浮动列表项
    浮动列表项在上面的例子中链接有不同的宽度。对于所有的链接宽度相等,浮动<li>元素,并指定为<a>元素的宽度:实例li{float:left;}a{display:block;width:60px;}实例解析:float:left-使用浮动块元素的幻灯片彼此相邻display:block-显示块元素的链接,让整体变为......