03字符串、列表、元组、字典
1、字符串介绍
字符串有两种形式,单引号和双引号
2、字符串输出
name = "zhangsan"
print("%s"%name)
3、字符串输入
name = input("请输入你的姓名:")
4、下标和切片
字符串下标从0开始到len(str)-1
切片 是指对操作的对象截取一部分的操作。字符串、元组、列表都支持切片操作。
a = "abcdef"
# a[start,end] >= start < end
print(a[0:3]) # abc
print(a[0:]) # abcdef
print(a[:]) # abcdef
print(a[0::1]) # abcdef
print(a[::1]) # abcdef
print(a[::-1]) # fedcba
print(a[::2]) # ace
print(a[1:5:2]) # bd
print(a[2:-1:2]) # ce
print(a[5:2:-1]) # fed
实现字符串的反转:
aStr[::-1]
5、字符串常见操作
import string
s = "hello world myclass mu myclass"
# 查找
print(s.find("myclass"))
print(s.index("mu"))
# 个数
print(s.count("myclass"))
# 替换
print(s.replace("my","our",2))
# 分割
print(s.split(" "))
# 首字母大写
print(s.capitalize())
# 单个单词首字母大写
print(s.title())
# startswith / endswith
print(s.startswith("Hello"))
print(s.endswith("Ourclass"))
# lower /upper
print(s.upper())
print(s.lower())
# ljust 空格填补 rjust center
print(s.ljust(50))
print(s.rjust(50))
print(s.center(50))
# lstrip rstrip strip
print(s.strip())
# rindex rfind
# partiton 把str分成三部分
# print(s.partiton("world"))
# splitlines 比较容易,例子略
# isalpha
# isalnum
# isdigit
# isspace
# join
str = " "
li = ["my","name","is" ,"zhangsan"]
print(str.join(li))
* (面试题)给定一个字符串aStr,返回使用空格或者'\t'分割后的倒数第二个子串
aStr.split()
6、列表介绍
列表中的元素可以是不同类型
7、列表的循环遍历
for while
8、列表的常见操作
li = [1,2,3,'456',[1,2,3],{1:'one',2:'two'}]
print(type(li))
print(li)
# 元素访问
print(li[0])
print(li[-1])
# 查找元素的位置
print(li.index('456'))
# 注意找不到index会抛出异常
# 增加元素
li.append(4)
li.append(5)
li.extend([4,5,6])
li.insert(1,3)
# 注意append() 与 extend()的区别
# 删除元素
del li[1]
li.pop()
li.remove('456')
# 判断是for为空
l_a = []
if not l_a:
print('empty')
if l_a is None:
print('empty')
# 注意 not xxx 与 xxx is Node 不一样
# 遍历
for i in li:
print(i)
for i in range(len(li)):
print(li[i])
9、列表的嵌套
li[[1,2,3],[34,34,23]]
10、元组
元组中的元素不能够改,其它与列表类似
11、字典介绍
key-value
12、字典的常见操作
添加元素、删除(del clear())
dict = {1:'one',2:'two'}
print(len(dict))
print(dict.keys())
print(dict.values())
print(dict.items())
print(dict.has_key(1))
13、 字典的遍历
有四种遍历方式:
- 遍历key
- 遍历value
- 遍历数据项
- 遍历key,value
14、公共方法
各个容器的公共方法
+ 运算符:+ * in not in
+ 内置的函数: max min cmp del
15、引用
通过画图进行理解
a = 2
b = a
print(id(a))
print(id(b))
可变类型与不可变类型
可变类型,值可以改变:
* 列表 list
* 字典 dict
不可变类型,值不可以改变:
* 数值类型 int, long, bool, float
* 字符串 str
* 元组 tuple