常见容器
- 列表
- 字典
- 字符串
-
列表容器型数据类型:将[]作为容器标志,里面多个元素用逗号隔开。
列表和字符串有序,字典和集合无序
可变性:列表是可变的(元素的个数和元素的值可变,支持增删改的操作)
有序性:序列影响结果
列表的元素:指保存在列表中的每个数据,可以是任何类型的数据。
语法:
# 列表 = [元素1, 元素2] list1 = [’name‘, ’hobby‘, 87, 0.23, ’开心心‘] print = list1
表示一个较长列表的时候,可以再逗号后面换行写
list3 = [ 12, 13, 14 ]
2.列表的增删改查
2.1查:获取列表中的元素
2.2查单个:一次获取一个元素
语法:
'''
列表[下标]:获取列表中指定下标对应元素
说明:
列表:具体一个列表,或者是保存列表的变量
[]:固定写法
下标:索引,指的是元素在列表中的位置信息
位置信息:
1.从前到后下标从0开始递增 012345
2.从后往前下标从-1开始递减 -1-2-3-4-5-6
'''
num = [10, 23, 88, None, 'anna']
print(num[3], num[-4])
3.遍历 按顺序逐个获取列表中所有元素
# 可以使用for循环逐个获取
names = ['nana', 'john', 'lisa', 'handy']
for x in names:
print(x)
Practice :统计num中偶数个数
Num = [45, 99, 88, 43, 24, 36]
count = 0
for x in num:
if x % 2 == 0:
count += 1
print(count)
students = [
['张三', 18, 90, '男'],
['小明', 20, 100, '男'],
['小花', 19, 78, '女']
]
for x in students:
print(x[0])
a.增:在列表中增加元素
#语法:
# a.列表.append(元素):在指定列表的最后添加指定元素
names = ['nana', 'john', 'lisa', 'handy']
names.append('lily')
print(names)
practice:提取nums中所有的偶数,得到新的列表
num2 = [12, 23, 34, 77, 78]
num3 = []
if x in num2:
num3.append(x)
print(num3)
b. 列表.insert(下标, 元素):将指定元素插入到列表中指定下标对应元素的前一位
num = [23, 34, 67, 87]
names.insert(-2, 'mingming')
print(num)
删- 删除元素
# a.del 列表[下标]
# 删除列表中指定下标对应的元素
num = [23, 34, 67, 87]
del num[3]
print(num)
# b.
# 列表.remove(元素)
num = [23, 34, 67, 87, 67]
num.remove(67)
#c.
#列表.pop() 取走列表最后一个元素并且返回
#列表.pop(下标) 取走列表指定下标对应的元素并且返回
num = [23, 34, 67, 87, 67]
num.pop(1)
# d.修改某个元素的值
# 列表[下标] = 新值 将指定下标对应的元素修改成新的值
num = [23, 34, 67, 87, 67]
num[3] = 'kaka'
print(num)
4.相关操作和函数
1.列表的加法和乘法运算
result = [12, 34,56] + [23, 99]
print(result)
num = [23, 34, 67, 87, 67]
result1 = num * 3
print(result1)
- in和 not in
数据 in 列表:判断列表中是否存在数据对应的元素
数据 not in 列表: 判断列表中是否不存在数据对应的元素
num = [23, 34, 67, 87, 67]
print('mingming' in num)
print('mingming' not in num)
3.len函数
len(列表):获取列表的长度,获取列表中元素的个数
num = [23, 34, 67, 87, 67]
print(len(num))
print(len('sdsbdkjfjbs'))
4.sum函数
sum(列表):求列表中所有元素的和,列表中的元素必须全是数字
num = [23, 34, 67, 87, 67]
print(sum(num))
print(sum(range(101)))
- max/min函数 求最大最小值
语法:max/min(列表)
num = [23, 34, 67, 87, 67]
print(max(num))
print(min(num))
6.sorted函数
变量 = sorted(列表):将列表中的元素从小到大排序,产生一个新的列表保存到指定变量中
变量 = sorted(列表, reverse=True):将列表中的元素从大到小排序,产生一个新的列表保存到指定变量中
num = [23, 34, 67, 87, 67]
new_num = sorted(num)
print(new_num)
num = [23, 34, 67, 87, 67]
new_num = sorted(num, reverse=True)
print(new_num)
- 字典
什么是字典(dict):是容器型数据类型:将{}作为容器标准,里面多个键值对用逗号隔开:{键1:值1, 键2:值2,键3:值3}
2.字典是可变的(支持增删改),字典是无序的,顺序不影响结果
3.字典的元素必须是键值对,键必须是不可变类型数据,可以是字数,布尔,空值或者字符串,元组,一般用字符串
4.值可以是任何类型的数据
如果需要同时保存意义不同的数据的时候 字典币列表更好用
一个变量保存一个学生数据
如果用列表来存,数据代表的意义看不到,以后可能会忘记
student = ['ming', 18, 178]
print(student)
student2 = {'name': 'mingming', 'age': 18, 'height': 178}
print(student2)
# 空字典
dict1 = {}
查:获取值
查单个:
'''
1.字典[键] 获取字典中指定键对应的值,如果键不存在会报错
2.1字典.get(键) 获取字典中指定键对应的值,如果键不存在不会报错,会返回None
2.2字典.get(键, 默认值) 获取字典中指定键对应的值,如果键不存在返回默认值
'''
student2 = {'name': 'mingming', 'age': 18, 'height': 178, 'score': 98}
print(student2['name'])
print(student2.get('height'))
#print(student2['id'])
print(student2.get('id', 'bucunzai'))
print(student2.get('score', 0))
-
字符串
.1.转义字符:在特定的符号前加\来表示特殊意义或者特殊功能的符号
字符串是容器型数据类型,将单引号或双引号作为容器标志,引号中的每个符号就是字符串中的元素,字符串的元素也叫字符
'''常见的转义字符:
\n 表示换行
一个转义字符的长度只算1
\t 水平制表符(对应按一个tab键)
\' 表示一个普通的单引号
\" 表示一个普通的双引号
\\ 表示一个普通的反斜杠
'''
str1 = 'abc'
str2 = 'abc你好呀嘻嘻嘻'
print(len(str2))
str3 = 'ahh\njklgbhkj'
print(str3)
str3 = 'ahh\tjklgbhkj'
print(str3)
# 2.字符串相关操作
print('abc' + 'hello')
print('abc' * 3)
print('a' in 'abcdef')
print('abc' in 'abcdef')
# 3.格式字符串 f-string
name = input('请输入学生名字:')
age = int(input('q请输入学生年龄:'))
message1 = name + '今年' + str(age) +'岁!'
message2 = f'{name}'
print(message2)
str1 = f'{10 + 20}abc'
print(str1)
name = input('请输入学生名字:')
age = int(input('请输入学生年龄:'))
message3 = f'{name}今年{age}岁!'
print(message3)