学习时间:2018年11月4日
01-recode
"""
'', "", '''''', """"""
字符串[索引]
字符串[开始下标:结束下标],字符串[开始下标:结束下标:步长]
字符串[::-1]
+,* , in, not in, >, <, ==, !=, >=, <=
方法:字符串.方法名()
"""
str1 = 'ahnc\nacb'
str2 = "abc"
str3 = '''abc
aaa
bbb
ccc
'''
str4 = """abc
anns
sddj
sdd"""
print(type(str3), type( str4))
print(str3)
02-认识列表
"""
1.什么是列表(list)
列表是序列,一种容器类型的数据类型。可变的,有序的
可变:指的是列表中的元素的值和元素个数以及元素的位置可变 (支持元素的增删改查)
有序: 可以通过下标去获取元素
a.列表常量: 用中括号括其起来,里面可以多个数据,多个数据之间用逗号隔开。
其中单独的一个数据我们叫做列表的一个元素
b.列表元素:一个列表中的元素可以是不同类型的数据,并且可以是任何类型的数据
c.[] - 空列表
"""
score = 90
scores = [89, 100, 90, 'abc', 12.3, True, [1, 2]]
print(scores)
list1 = []
print(type(list1))
03-元素的增删改查
# 1.查(获取列表元素)
"""
a.获取单个元素(和字符串获取单个字符一样)
列表[下标]
注意:下标范围 0 ~ 列表长度-1; -1 ~ -列表长度
"""
names = ['路飞', '娜美', '佐罗', '山治', 100]
print(names[-5], names[0])
"""
b.获取部分元素(和字符串获取部分字符一样) - 切片 - 结果是一个新的列表
列表[起始下标:结束下标]
列表[起始下标:结束下标:步长]
"""
print(names[1:4])
print(names[-1:0:-2])
print(names[::-1])
print(names)
"""
c.遍历列表 - 把列表中的元素一个一个的取出来
将列表放在for - in的后面,变量是直接取到列表中的每个元素
"""
for item in names:
print(item)
# 2.增(往列表中添加元素)
"""
a.列表.append(元素) - 在列表的最后添加一个元素
"""
films = ['肖生克的救赎', '阿甘正传', '沉默的羔羊', '恐怖游轮']
films.append('摔跤吧爸爸')
films.append('霸王别姬')
print(films)
"""
b.列表.insert(下标, 元素) - 在指定的下标前插入指定的元素
# 注意:让列表中的元素个数和元素位置发生改变后,列表的下标会重分配
"""
films.insert(1, '教父')
print(films)
# 3.删(删除列表元素)
"""
a. del 列表[下标] - 删除列表中指定下标对应的元素
del - 是python中的关键字(实质可以删除del后面的任何数据)
"""
films = ['肖生克的救赎', '教父', '阿甘正传', '沉默的羔羊', '恐怖游轮', '摔跤吧爸爸', '霸王别姬']
del films[1]
print(films)
# del films # 删除整个列表
# print(films)
# a = 100
# # del a
# # print(a)
"""
b.列表.pop(下标) - 将列表中指定下标对应的元素从列表中取出, 返回被取出的元素
列表.pop() - 将列表中的最后一个元素取出
"""
films = ['肖生克的救赎', '阿甘正传', '沉默的羔羊', '恐怖游轮', '摔跤吧爸爸', '阿甘正传','霸王别姬']
del_item = films.pop(-3)
print(films, del_item)
del_item = films.pop()
print(films, del_item)
"""
c.列表.remove(元素) - 删除列表中指定的元素
注意: 如果列表中指定的元素有多个,只删最前面那一个
"""
films.remove('阿甘正传')
print(films)
# 4.改(修改元素的值)
"""
语法:
列表[下标] = 新值 - 使用新值去修改列表指定下标对应的元素
"""
films = ['肖生克的救赎', '沉默的羔羊', '恐怖游轮', '阿甘正传']
films[-2] = '战狼2'
print(films)
04-列表相关运算
# 1. +
"""
列表1 + 列表2 - 将两个列表中的元素合并到一起产生一个新的列表
"""
nums = [1, 2, 3]
zimus = ['a', 'b', 'c']
print(nums + zimus, nums)
# 2. *
"""
列表 * n(正整数) - 将列表中的元素重复n次产生一个新的列表
"""
print(nums*2)
# 3. in 和 not in
"""
元素 in 列表 - 元素是否在列表中
元素 not in 列表 - 元素是否不在列表中
"""
zimus = ['a', 'b', 'c', 100, True]
print('a' in zimus) # True
print(['a', 'b'] in zimus) # False
# 4. len
"""
len(列表) - 获取列表中元素的个数
"""
print(len(zimus))
# 5. list
"""
list(数据) - 将指定的数据转换成列表
注意:只有序列才可以转化成列表。例如:字符串、列表、元祖、集合、字典,range, 迭代器
转换过程:除了字典以外,都是将序列中的元素作为列表的元素,进行转换
"""
print(list('abc'))
print(list(range(11)))
print(list({'name':'张三', 'age': 18}))
05-常用方法
"""
1.列表.count(元素) - 统计列表中指定的元素的个数
"""
list1 = ['aa', 'bb', 100, 200, 'aa', 'aa']
print(list1.count('aa'))
"""
2.列表.index(元素) - 获取指定元素在列表中的下标
注意:如果这个元素在列表中有多个,只获取第一的下标
"""
print(list1.index('aa'))
"""
3.列表.sort() - 升序排序(从下到大排序)
列表.sort(reverse=True) - 降序排序(从大到小)
要求:列表中的元素类型必须一样,而且要支持比较运算
"""
nums = [12, 45, 7, 4, 34, 100, 89, 66]
nums.sort()
print(nums)
nums = [12, 45, 7, 40, 4, 100, 89, 66]
nums.sort(reverse=True)
print(nums)
"""
4. max(列表) - 获取列表中的最大值
min(列表) - 获取列表中的最小值
"""
print(max(nums))
print(min(nums))
06-认识元组
"""
1.什么是元组(tuple)
(元组就是不可变的列表)是有序但是不可变容器类型
有序 - 可以通过下标获取元素
不可变 - 不支持增删改和排序
元组常量: 用小括号括起来,多个元素之间用逗号隔开
元组中的元素: 可以是任何类型的数据
() - 空的元组(其实无意义)
"""
list1 = [1, 'ass', True, [1, 2]]
print(list1)
tuple1 = (1, 'ass', True, [1, 2], (1, 29, 1), {'a':1})
print(tuple1, type(tuple1))
a = ()
print(type(a))
"""
2.特殊的写法
a. 如果要表示一个元素只有一个的元组,必须在那个元素的后面加逗号
b. 直接用逗号将多个数据隔开,表示的还是一个元组
c. 可以通过让变量的个数和元组元素的个数一致来获取元素中的每个元素
d. 在可以通过变量名前加*,让其可以获取元组中剩余的部分
"""
# list2 = [1]
# print(list2, type(list2))
# a.
tuple2 = (100,)
print(tuple2, type(tuple2))
# b.
tuple3 = 1, 200, 'abc' # 相当于 tuple3 = (1, 200, 'abc')
print(tuple3, type(tuple3))
tuple4 = 10,
print(tuple4)
# c.(列表也适用)
x, y = (1, 2)
x, y = 1, 2
print(x, y)
tuple5 = ('小明', 'boy', '1726238393',90, 89, 78, 67)
name, sex, *scores = tuple5
print(name, sex, scores)
*a, b = tuple5
print(a, b)
a, *b = tuple5
print(a, b)
"""
3.查(获取元组中的元素)
和列表一模一样(获取单个元素\切片\遍历)
"""