列表、元组(tuple)、字典、集合、字符串
列表可以嵌套;
领取Python学习资料可以加小编的微信:tz2020jd
x = [['a', 'b', 'c'], [1, 2, 3]]
print(x[0]) # ['a', 'b', 'c']
print(x[0][1]) # 'b'
元组不同于列表的是: 元组不能修改,用()表示;(不能增删改)
元组一般保存不同类型的数据;
注意: 只有一个元素的元组: single_tuple = (5,) ,也就是说元组中只包含一个元素时,需要在元素后面添加逗号;不能这样写 single_tuple = (5),这样是一个整形的变量;另外,创建元组也可以不加上括号;
tup = "a", "b", "c", "d"
print(tup)
print(type(tup))
tup2 = ("a",) # 一个元素的元组 (后面必须加上一个括号)
print(tup2)
print(type(tup2))
输出:
('a', 'b', 'c', 'd')
<class 'tuple'>
('a',)
<class 'tuple'>
元组的用途: ① 作为函数的参数和返回值;②格式化字符串(格式字符串本身就是一个元组);(3)让列表不可以被修改,保护数据安全;
格式化字符串和元组的关系,看下面的三个print输出是一样的:
# 元组和格式化字符串的关系
info_tuple = ("小明", 21, 1.85)
print("%s 年龄是 %d 身高是 %.2f" % ("小明", 21, 1.85))
print("%s 年龄是 %d 身高是 %.2f" % info_tuple)
info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple
print(info_str)
元组和列表可以相互转换 : ①使用list(元组)将元组转换成列表;②使用tuple将列表转换成元组;
字典: ① 键必须是唯一的 ②值可以取任意类型,但是键只能使用字符串、数字或者元组(键只能是不可变类型)。
**遍历字典的时候for k in dict 中的k是键,而不是值。(普通的for),不过也可以通过items()方法遍历键值对: **
dict_student = {'name': 'xiaoming', 'age': '18', 'qq': "1234"}
# 遍历方式一
for k in dict_student: # k 是key
print(k, end=" ")
print(dict_student[k])
print("*" * 20)
# 遍历方式二
for k, v in dict_student.items():
print(k, v)
字符串中的转义字符:\n表示换行,而\r表示回车,字符串中的函数isspace()判断的时候\t\n\r都是表示的空白字符;
isdecimla()、isdigit()、isnumeric()都不能判断字符串中的小数,(可以判断字符串中的整数);
集合set的使用: 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。 集合还有一些方法add()、update()、pop()等;
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 输出集合,重复的元素被自动去掉
if 'Rose' in student:
print('Rose 在集合中')
else:
print('Rose 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同时存在的元素
输出:
{'Jim', 'Mary', 'Jack', 'Rose', 'Tom'}
Rose 在集合中
{'b', 'd', 'r'}
{'b', 'l', 'c', 'd', 'z', 'm', 'a', 'r'}
{'c', 'a'}
{'b', 'm', 'l', 'r', 'd', 'z'}
相关公共方法: len、del、max、min(只会比较字典的key);
in、not in的使用(类似数据库…);
pass关键字的使用: 比如if … 下面没有写语句,python会提示报错,但是你可以写一个pass就不会报错了;也就是说如果在开发程序时,不希望立即编写分支内部的代码,可以使用pass作为一个占位符;可以保证程序代码结构正确;
TODO关键字的使用,在编写程序框架的时候,可以用TODO标示某个地方还没有做某事;
迭代器的使用
import sys # 引入 sys 模块
lst = [1, 2, 3, 4]
it = iter(lst) # 创建迭代器对象
# 使用for 遍历迭代器
for x in it:
print(x, end=" ")
print()
it = iter(lst) # 之前那个已经到了最后了,再次获取
# 使用next + while遍历
while True:
try:
print(next(it), end=" ")
except StopIteration: # 防止无限循环
sys.exit() # 退出程序
print()
输出:
1 2 3 4
1 2 3 4
1
2
字符串中切片的使用: ①类似截取,但是可以指定步长;②python中支持倒序索引,最后一个是-1,倒数第二个是-2…;
# 切片的使用
num_str = "12345678"
print(num_str[2:6]) # [2,5]
print(num_str[2:]) # 从2位置到结束
print(num_str[0:6]) # 输出[0,5]的
print(num_str[:6]) # 一开始到5的
print(num_str[:]) # 全部输出
print(num_str[::2]) # 指定步长 第三个参数指定步长
print(num_str[1::2]) # 从第一个开始 步长为2
print("*" * 20)
print(num_str[-1]) # 输出最后一个位置的
print(num_str[2:-1]) # 从第二个开始到倒数第二个
print("*" * 20)
# 一个面试题 逆序输出
print(num_str[-1::-1]) # 步长为-1代表向左切片,从最后一个开始切
print(num_str[::-1])
输出:
3456
345678
123456
123456
12345678
1357
2468
********************
8
34567
********************
87654321
87654321
领取Python学习资料可以加小编的微信:tz2020jd