Python字符串,列表,元祖,字典

时间:2023-01-04 10:21:19

    Python中的字符串。

  • 双引号或者单引号中的数据,就是字符串

比如 str = "Hello World"就是字符串,Python中字符串也可以用单引号包裹,str = 'Hello World' 

    字符串的下标与切片。字符串可以理解为字符的数组,所以支持下标索引,下标从0开始,比如 str = "summer"

str[0]就是“s”,如果想取出部分字符,可以通过下标获得。

    切片。切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。切片的语法:[起始下标:结束下标:步长],注意结束下标,切片会在结束下标的前一位结束,步长表示选取间隔,默认步长为1。代码示例:

# 打印Sum
str = "Summer"
print(str[0:3])
# 打印Summer
print(str[0:6])
# 打印mer
print(str[3:6])
# 打印mmer
print(str[2:])
# 打印Sme
print(str[0:6:2])
# 打印mme   -1表示从右数第一个
print(str[2:-1])
# 实现逆序,即打印remmuS
print(str[::-1])

    切片注意事项:切片只能从左往右或者从右往左,当步长为-1时表示反向取值。例:

a = "abcdef"

 a[5:1:-2]

请问输出什么。这个切片表示的意思为从下标5开始,到下标1前一位,这里的前一位为下标2,并不能理解为下标0,因为1是结束下标,前一个下标为2,步长为-2,表示从右向左隔两个取值,所以答案为fd。

    字符串的常见操作:1.find() 检测str是否在字符串中,如果在返回索引值,不在返回-1。 2.index 与find类似,但是str不在的话会报错。3 count 返回str在字符串中出现的次数。4 replace 把字符串中str1替换成str2,如果count指定,则替换不超过count次 。5 split 以str为分隔符切片字符串,如果maxsplit指定,则分割maxsplit次。6 capitalize 把字符串的第一个字符大写。7title 把字符串的每个单词首字母大写。8 startwith 检查字符串是否已指定str开头,是则返回TRUE,否则返回FALSE。9 endswith 检查字符串是否以str结尾,是返回TRUE,不是返回FALSE。10 lower 将字符串中所有大写字符转为小写。11 upper 将字符串中小写字母转换为大写。12 strip 删除字符串两端空白字符。删除左边空白字符为lstrip,右边为rstrip。13 splitlines 按行分隔,返回一个包含各行作为元素的列表。14  isalpha 如果字符串中所有字符是字母,返回TRUE,否则返回FALSE。15 isdigit 检测字符串是否全是数字,如果是返回true,否则返回false。 16 如果字符串都是字母或者数字返回TRUE,否则返回FALSE。17 isspace 如果字符串只包含空格,返回TRUE,否则返回FALSE。18 join 将str插入某一字符序列,比如 :

str = "-"
seq = ("a", "b", "c")  # 字符串序列
print(str.join(seq))

    列表。list = list[],和c语言中的数组很相像,但是列表比数组更强大,数组只能存储相同类型的变量,而列表可以存储不同类型的变量,比如 l = list[1,"2","w",1.0],列表也是有下标的,可以根据下标来取对应的值

    列表的相关操作。1 向列表添加元素有三种方式,为:append extend insert。append将添加的数据放在列表最后一个:

list = [1, 2, 3]
temp = input("请输入你要添加的数据:")
list.append(temp)
print(list)
    extend,将另一列表逐个添加到列表中:
l1 = [1, 2, 3]
l2 = [5,6]
l1.extend(l2)
print(l1)

    打印结果为:[1, 2, 3, 5, 6]

    insert,将数据插入到指定下标前面。

l1 = [1, 2, 3]
l1.insert(2, "s")
print(l1)

修改列表的元素。直接通过索引修改数据的值

查找元素。查:in, not in,如果存在返回TRUE,否则返回FALSE,例:

ls = ["S", "u", "m", "m", "e", "r"]
if "S" in ls:
    print("在列表中")
else:
    print("不在列表中")

    删除列表中元素,del,pop,remove。del根据下标删除,pop删除最后一个元素,remove根据元素的值删除

    列表的排序,sort,reverse。sort默认将list从小到大排序,reverse将列表逆置。在sort中将reverse设为True则是从大到小排序:

ls = [3, 5, 4, 10, 6]
# 从小到大排序
ls.sort()
# 从大到小排序
# ls.sort(reverse=True)
# 逆置
# ls.reverse()
print(ls)
    元祖。元祖与列表类型,但是不同之处在于元祖不能修改,元祖使用小括号,列表使用方括号。元祖的定义与打印:
aTuple = ("s", 1, 4)
print(aTuple)

打印结果:('s', 1, 4)

    字典。字典拥有键和值,可以通过键名找到对应的值,能解决列表所不能解决的问题。

  • 字典和列表一样,也能够存储多个数据
  • 列表中找某个元素时,是根据下标进行的
  • 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
  • 字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值
    在字典中,一般用键名来获取值,示例:
 
info = {"name": "zs", "age": 23, "sex": "man"}
print(info["name"], end=" ")
print(info["age"], end=" ")
print(info["sex"], end=" ")

    打印结果:zs 23 man 

    除了用键名来获取值外,也可以用get方法

字典的修改:直接找到键名,为其赋新值即可

字典的添加:在字典中,如果在使用变量名[键名] = 值 时,键名不存在,则添加进字典

字典的删除:del  和 clear()  del删除指定元素,比如 del info['name'],删除后不能访问这个键,会报错。clear直接清空字典。info.clear()