Bootstrap

数据结构、序列类型、字符串

一、数据结构和序列类型

1.爷爷叫数据结构,爸爸叫序列类型,儿子有一大堆(字符串string,列表list,元组tuple,集合set,字典dictionary)

2.数据结构:是计算机存储和组织数据的方式。

3.序列:是py最基本的数据结构,会在计算机内存中申请一块连续的存储空间,存储多个值。

4.符串string,列表list,元组tuple,集合set,字典dictionary都属于序列

5.序列可进行:索引,截取/切片、+、×等操作,以及判断元素是否属于序列成员

索引:表示元素在序列中的位置

截取:按照索引区间截取序列中的一些元素

+:向序列中添加其他序列或元素

×:将序列多倍复制

二、序列的大儿子—字符串

1.字符串:是字符序列,用“”或‘’表示,例如“abc” ‘abc’中间的内容就是字符串

2.字符串的表示:

# 字符串
#'abc'表示字符串内包含a、b、c 这三个元素
'abc',"abc",'a','b','c'
#引号只是表示方法,不是字符串的内容,如果字符串本身就包括单引号,
#第一种方法用“”标识字符串
string_1="hello,'bug'"
print(string_1)
#string_2='hello,'bug''是错误写法
#第二种方法,利用转义字符\\,这时用单引号,双引号都可以
string_3='hello,\'bug\''
print(string_3)

#如果字符串本身包含的是双引号,同样有两种写法
#第一种,用单引号标识字符串
string_4='hello,"bug"'
print(string_4)
#第二种,用转义字符//标识双引号
string_5="hello,\"bug\""
print(string_5)

3.py中没有字符类型这个概念,例如字符a就是字符串类型,

4.索引是字符在字符串中的位置信息,字符串的索引有两种计数方式,第一种是从头到尾遍历(例如,“hello”,从头到尾遍历就是从0--4)。第二种方法是从尾到头遍历(例如“hello”从尾到头遍历就是-1--(-5))

5.字符串的索引和截取

#索引
string_list="hello"
sub_string=string_list[2]
print(string_list[2])

#截取字符串
#截取格式:字符串[头索引:尾索引],表示截取头索引--(尾索引-1)之间的子字符串
#例如string_list[1:3]表示截取1--2的字符串,不包括3
sub_string2=string_list[1:3]
print(sub_string2)

6.+、*在字符串中的应用

#多个字符串可以用+连接成新的字符串
sum_string=sub_string+sub_string2
print(sum_string)
#字符串*n,表示当前字符串复制n倍,也可以写成n*字符串,py中*代表乘运算
print(sum_string*2)
print(2*sum_string)

 7.字符串格式化的三种方法

#字符串格式化
#第一种,%表示占位符,字符串外需要用%()表示,()中有几个变量或值占位符%就有几个,
#占位符和变量的顺序要对应,不同的变量或值用不同的占位符
#占位符类型:整数%d,浮点数%f,字符串%s,十六进制%x
string_6="hello,%s"%("bug")
print(string_6)
#%s和py对应(即顺序对应),表示要填入的内容属于字符串类型(即占位符类型对应);
#%d和21对应(即顺序对应),表示要填入的内容属于整数类型(即占位符类型对应)
string_7="hello,I'm %s,%d years old."%("py",21)
print(string_7)
#%()中也可以是变量
a="py"
b=21
string_8="hello,I'm %s,%d years old."%(a,b)
print(string_8)
#如果不清楚用什么占位符,%s可以适用任意场景,它可以将变量或值全部转为字符串类型

#第二种方法,f-string写法,py3.6以上版本的写法
name="pyy1";age=21
string_9= f"hello,I'm {name},{age} years old."
print(string_9)

#第三种方法,可以用.format()实现  
string_10="hello,I'm {0},{1} years old.".format("pyyy",21)
print(string_10)
#采用变量的写法
a="py1"
b=21
string_12="hello,I'm {0},{1} years old.".format(a,b)
print(string_12)

8.in在字符串中的应用

#成员运算符in,用来判断字符串中是否含特定字符或字符串
#如果包含返回True,不包含返回False
b='e'in'hello'
print(b)

#字符串一旦定义便不可变,只能读,不能修改
a="pyy"
print(a[1])
a[1]='x'

 

;