字符串 列表 元组
1、 字符串
用来存储用户名、密码的数据
字符串格式:双引号或者单引号中的数据,就是字符串
字符串输出: 格式控制符 "%s"
字符串输入:输入的内容 = input("需要输入的内容")
注意:python2的输入为 raw_input()
2、下标和切片
下标索引:就是指的编号,类似超市储物柜的编号,通过编号就能找到对应的东西
切片(字符串,列表,元组都支持切片操作)
语法: [起始:结束:步长] 区间位置:左闭右开
倒序的内容输出: print(name[::-1])
3.字符串常见操作
(1)find/rfind
例如:#检查str是否包含在str1中,如果是返回开始的索引值,否则返回-1
str1.find()
str1="good good study,day day up"
index = str1.find("stu")
print(index)
(2)index/rindex 跟find()方法一样,只不过目标字符串如果不在要查找的字符串中会报一个异常
(3) count 返回str在目标字符串中start-end之间出现的次数
str1="good good study,day day up"
print(str1.count("good"))
(4) replace 把str1中指定的字符串"good",用“222”进行替换,最多替换2次
str1="good good study,day day up"
print(str1.count("good"))
str2 = str1.replace("good","222",2)
print(str2)
(5)split 以" "为分割符切片str1
str1="good good study,day day up"
array = str1.split(" ")
print(type(array))
print(array)
(6)capitalize 把字符串的第一个字符大写
print(str1.capitalize())
(7) title 把字符串中的每一个单词的首字母大写
print(str1.title())
(8)startswith 检查字符串是否以指定字符串开头,是则返回True,否则返回False
(9)endswith 检查字符串是否以指定字符串结尾,是则返回True,否则返回False
(10) lower 转换字符串中所有的大写字符为小写
(11) upper 转换字符串中所有的小写字符为大写
(12) ljust 返回一个原字符串左对齐,并使用空格填充至长度width的新字符
str1 = "hello"
print(str1.ljust(10))
(13)rjust 返回一个原字符串右对齐,并使用空格填充至长度width的新字符
str1 = "hello"
print(str1.rjust(10))
(14)center 返回一个原字符串居中对齐,并使用空格填充至长度width的新字符
str1 = "hello"
print(str1.center(10))
(15)lstrip 删除目标字符串左边的空格
str1 =" hello "
print(str1.lstrip())
(16)rstrip 删除目标字符串右边的空格
str1 =" hello "
print(str1.rstrip())
(17)strip 删除目标字符串两边的空格
str1 =" hello "
print(str1.strip())
(18) rfind 类似于find()函数,不过是从右边开始查找
(19)rindex 类似与index()函数,不过是从右边开始查找
(20) partition 把目标字符串分割成str前,str以及str后三部分,得到一个tuple(元组)
str1="nihaoma"
str1.partition("hao")
('ni', 'hao', 'ma')
(21) rpartition 从右边开始,把目标字符串分割成str前,str以及str后三部分,得到一个tuple(元组)
str1="nihaoma"
str1.partition("hao")
('ni', 'hao', 'ma')
(22)splitlines 将目标字符串按照行进行分割,返回一个列表
str1 = "Hello\nWorld"
print(str1.splitlines())
(23)isalpha 判断目标字符串中是否所有的字符都为字母,返回True,或者False
str1 = "123Hello"
print(str1.isalpha())
(24) isdigit 判断目标字符串中是否所有的字符都为数字,返回True或者False
str1 = "123Hello"
print(str1.isdigit())
(25) isalnum 如果字符串中都是字母或者数字则返回True,否则返回False
str1="abc123"
print(str1.isalnum())
(26)isspace 如果字符串中只包含空格,则返回True,否则返回False
(27)join 将字符串或者列表,元组中的每个元素(字符)使用指定字符连接起来
li=["one","two","three"]
str2="_"
str2 = str2.join(li)
print(str2)
列表介绍
语法格式:
names=["李大钊","陈独秀","蔡元培","陈佩斯"]
注意:比C语言中的数组功能更强大,列表中的元素可以为不同类型
1、访问列表中的元素
设置值 list1[0] = 100
获取值 print(list[0])
2、列表的循环遍历
- 使用for循环进行遍历
- 使用while循环进行遍历
3、列表的常见操作
append 通过append向指定列表添加元素
extend 通过extend可以将一个列表中的元素逐个添加到另外一个列表中
insert insert(index,object)在指定的位置处插入元素object
in 查找 如果存在,则返回True,否则返回False
not in 与in相反
index 返回元素在列表中的索引值
index(obj)
index(obj,fromIndex,toIndex) 区间位置为前闭后开
如果没有列表中不包含查找元素,会报错
count 返回元素在列表中出现的次数
del 根据下标进行删除
pop 删除最后一个元素
remove 根据元素的值进行删除
改 直接通过下标来修改元素
排序以及列表反转 sort方法将list按特定顺序进行排列,默认为由小到大,参数reverse=True可改为倒序,由大到小
反转方法: reverse()
4、列表的嵌套
一个列表中的元素,又是一个列表
嵌套列表的遍历
```
l1=[[1,2],4,[5,6]]
for l in l1:
if type(l) == list:
for ll in l:
print(ll)
else:
print(l)
print("-"*10)
```
元组
元组概念:Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用“()”,列表使用"[]"
- 操作
- 访问
```
t=(1,2,3)
print(t[0])
修改或者删除元素的话会报错:
t[0]= 10
删除报错:
t.pop()
但是可以变向进行删除
tuple->list(进行删除操作)->tuple
```
#### 字典介绍
- 字典的引入
```
#如何存储将多个国家的简称及名字完成对应的存储?
#例如: CN:中国 JP:日本 US:美国
country = {"CN":"中国","JP":"日本"}
```
- 字典中元素的访问:
- 直接访问
```
print(country['CN'])
打印结果:"中国"
如果没有"CN"这个key,则会报错
```
- 通过get方法访问
```
value=country.get('CN')
#这时候value的值为 "中国"
value = country.get('SH','中国')
#这个意思是如果有key ‘SH’则得到对应值,没有的话,得到默认值"中国"
```
- 字典的常见操作1
- 修改元素
```
可以直接进行修改
student={'name':'陈独秀','age':99}
student['age']=100
```
- 添加元素
```
student['address']='北京市朝阳区'
#如果字典中没有'address'这个key,则会将这个元素条件到字典中,如果已经包含这个key
则新值会将旧值覆盖
```
- 删除元素
- del 删除
```
#例:
#删除某个key
del student['age']
#删除所有的键值对,删除之后,将不能在进行访问
```
- clear
```
#清空所有的键值对,清除后依旧可以进行访问
stu.clear()
```
- 字典的常见操作2
- len() 键值对个数的获取
```
stu={'name':‘xiaoming’,'age':19}
len(stu)
#长度为2
```
- keys()
```
#返回一个字典中所有的key的列表
allKeys= stu.keys()
for k in allKeys:
print(k)
print(allKeys[k])
```
- values()
```
#返回一个包含字典所有value的列表
stu.values()
#['xiaoming',19]
```
- items()
```
#返回一个包含所有(键、值) 元组的列表
stu.items()
#[('name','xiaoming'),('age',18)]
```
- 字典的遍历
- 所有key的遍历
```
stu={'name':'xiaoming','age':19}
for key in stu.keys():
print(key)
```
- 所有value的遍历
```
stu={'name':'xiaoming','age':19}
for value in stu.values():
print(value)
```
- 所有item的遍历
```
stu={'name':'xiaoming','age':19}
for item in stu.items():
print(item)
```
- 所有key和value的遍历
```
stu={'name':'xiaoming','age':19}
for key,value in stu.items():
print(type(value))
print("%s=%s"%(key,value))
```
#### 公共方法
- 公共运算符
- '+'
```
作用:合并、连接
例:str1="hello"+"world"
结果:”helloworld“
list1=[1,2]+[3,4]
结果:[1, 2, 3, 4]
例:tuple1=(1,2) + (3,4)
结果:(1,2,3,4)
```
- '*'
```
作用:复制
例: 'hello' * 2
结果: 'hellohello'
例: [1,2] * 2
结果:[1,2,1,2]
例:(1,2) * 2
(1,2,1,2)
```
- in
```
作用:元素是否存在
例:
result = '123' in 'HelloWorld123'
print(result)
result= 1 in [1,2]
print(result)
result = 2 in (1,2)
result = 'name' in {'name':'xxx','age':12}
print(result)
```
- not in
```
作用:元素书否不存在,用法跟in 一样
```
- python的内置函数
- len
```
作用:得到元素的个数
例:len([1,2])
len((1,2))
获取到的为键值对个数
len({'name':'xiaoming','age':18})
```
- max(...)
```
作用:获取最大值
例:
max(1,2,3)
max([1,2,3,4])
找字典中的最大键
a =max({'a':1,'b':2,'x':3})
```
- min(...)
```
作用: 获取最小值(用法与max一致)
```
- del
```
删除元素或者删除容器
del 元素/容器变量名
del list1[0]
del list1
```
- 变量.del()
```
#在python3中已经不存在这种用法
list1 = [1,2,3]
list1.del()
```
- 引用的使用
- 什么是引用
```
windows中的快捷方式
家庭地址
```
- 非引用类型案例:
```
a = 10
b = a
print(id(a))
print(id(b))
b=100
print(a)
print(b)
print(id(a))
print(id(b))
```
- 引用类型案例:
```
list1 = [1,2,3]
list2 = list1
print(id(list1))
print(id(list2))
list2[0]=100
print(list1)
print(list2)
print(id(list1))
print(id(list2))
```
- 引用类型内存图分析