列表
定义列表的语法是什么
nums = [1, 2, 3]
print(nums)
# [1, 2, 3]
列表增删查改常用函数有哪些
增加
- append
- 在列尾添加元素
- insert
- 指定索引位置添加元素
- extend
- 把一个列表所有元素按顺序逐个添加到另一个列表的列尾
查询
- 通过索引查询元素
修改
- 通过索引修改元素
删除
- remove
- 通过元素值删除元素
- pop
- 默认删除列尾元素
- 可删除指定索引元素
- del
- 删除指定索引元素
- clear
- 清空列表所有元素
# nums = []
nums = [1, 2, 3]
# print(nums)
# [1, 2, 3]
# 添加
nums.append(6)
# print(nums)
# [1, 2, 3, 6]
nums.insert(1, 9)
# print(nums)
# [1, 9, 2, 3, 6]
age = [19, 20, 17]
nums.extend(age)
# print(nums)
# [1, 9, 2, 3, 6, 19, 20, 17]
# 查询
# print(nums[4])
# 6
# 修改
nums[4] = 123
# print(nums)
# [1, 9, 2, 3, 123, 19, 20, 17]
# 删除
nums.remove(123)
# print(nums)
# [1, 9, 2, 3, 19, 20, 17]
pop_num = nums.pop()
# print(pop_num, nums)
# 17 [1, 9, 2, 3, 19, 20]
pop_num = nums.pop(1)
# print(pop_num, nums)
# 9 [1, 2, 3, 19, 20]
del nums[3]
# print(nums)
# [1, 2, 3, 20]
nums.clear()
# print(nums)
# []
负数索引表示的含义
负数索引表示从最后一个元素开始查找,初始值为-1
nums = [1, 2, 3]
# print(nums)
# [1, 2, 3]
print(nums[-2])
# 2
切片的语法是什么
[起始值: 结束值: 步长]
- 取值范围是:[起始值, 终止值)
起始值
- 默认从第一个元素开始
终止值
- 默认到最后一个元素结束
步长
- 可选属性
- 默认为1
切片中步长为负数的含义
逆序遍历列表
nums = [1, 2, 3]
# print(nums)
# [1, 2, 3]
print(nums[::-1])
# [3, 2, 1]
元组
对比列表,元组元素的特殊性是什么
元组的元素不可修改
定义元组的语法是什么
nums = (1, 2, 3)
print(type(nums))
print(nums)
# <class 'tuple'>
# (1, 2, 3)
元组元素赋值给多个变量的语法是什么
nums = (1, 2, 3)
# print(type(nums))
# print(nums)
# <class 'tuple'>
# (1, 2, 3)
a, b, c = nums
print(a, b, c)
# 1 2 3
字符串
字符串的存储类型
不可变数据类型
name = 'Anna'
new_name = 'Anna'
print(id(name))
print(id(new_name))
print(id('Anna'))
# 2495324995760
# 2495324995760
# 2495324995760
字符串中输入或输出单双引号的方式有什么
print('双引号"')
print("双引号\"")
print('单引号\'')
print("单引号'")
# 双引号"
# 双引号"
# 单引号'
# 单引号'
字符串格式化函数的语法
# print("我的名字是{},我的年龄是{}".format("Anna", 18))
# 我的名字是Anna,我的年龄是18
# 索引引入
# print("我的名字是{0},我的年龄是{1},我的昵称是{0}".format("Anna", 18))
# 我的名字是Anna,我的年龄是18,我的昵称是Anna
# 指定参数
print("我的名字是{name},我的年龄是{age},我的昵称是{name}".format(name="Anna", age=18))
# 我的名字是Anna,我的年龄是18,我的昵称是Anna
字符串切片、遍历的方式有什么
切片
letters = 'abcdefg'
print(letters[0])
# a
print(letters[1])
# b
print(letters[0:])
# abcdefg
print(letters[1:3])
# bc
print(letters[-3:])
# efg
print(letters[-3::-1])
# edcba
遍历
letters = 'abcdefg'
# while循环
# i = 0
# while i < len(letters):
# ch = letters[i]
# i += 1
# print(ch, end=' ')
# for循环
for ch in letters:
print(ch, end=' ')
字符串常用函数
去除字符串空格
info = ' hello '
# print(f'+++{info.rstrip()}+++')
# +++ hello+++
# print(f'+++{info.lstrip()}+++')
# +++hello +++
print(f'+++{info.strip()}+++')
# +++hello+++
字符串分割
info = 'hello world'
print(info.split(' '))
# ['hello', 'world']
names = 'Anna,Emma,张三'
print(names.split(','))
# ['Anna', 'Emma', '张三']
path = 'c:/python/AI/15/str'
print(path.rsplit('/', 3))
# ['c:/python', 'AI', '15', 'str']
大小写转换
name = 'Anna'
print(name.lower())
print(name.upper())
判断字符串的开头或结尾
letter = 'abcdefg'
print(letter.endswith('fg'))
print(letter.startswith('aaa'))
字符串连接
# 字符串连接
names = ['Anna', 'Emma', '张三']
print('+'.join(names))
# Anna+Emma+张三
字符串替换
name = " posekakaka "
# 将name 变量对应的值中的 “k” 替换为 “c”,并输出结果
print(name.replace('k', 'c'))
# posecacaca
判断字符串由数字组成
# 判断数字组成
info = '123'
print(info.isdigit())
# True
info = '123a'
print(info.isdigit())
# False
字典
字典以什么方式存储数据
一种映射关系,数据以键值对的形式存储
{key1: value1, key2: value2}
字典的语法是什么
dic = {}
字典中键和值的特殊性有什么
- 其中key值必须是不可变的数据类型,例如字符串、数字、元组
- 键必须唯一,相同键以最后一个键的值存储
- 值不必唯一
字典增删改查操作的语法是什么
增
- key值不存在,就是添加
- dic[key] = value
删
- 如果要删除的key值不存在,会报错
- del dic[key]
- dic.pop(key)
改
- key值存在,就是修改
- dic[key] = value
- dic.update(dic2)
- dic2的数据合并到dic中
查
- dic[key]
- dic.keys()
- dic.values()
- dic.items()
user_dic = {"name": "Anna",
"job": "coder",
"age": 18}
print(user_dic)
# {'name': 'Anna', 'job': 'coder', 'age': 18}
# 增
user_dic["weight"] = 99
print(user_dic)
# {'name': 'Anna', 'job': 'coder', 'age': 18, 'weight': 99}
# 改
user_dic['name'] = 'Emma'
print(user_dic)
# {'name': 'Emma', 'job': 'coder', 'age': 18, 'weight': 99}
# 删
del user_dic['weight']
print(user_dic)
# {'name': 'Emma', 'job': 'coder', 'age': 18}
user_dic.pop('job')
print(user_dic)
# {'name': 'Emma', 'age': 18}
# 查
print(user_dic['name'])
# Emma
判断元素是否存在的语句是什么
user_dic = {"name": "Anna",
"job": "coder",
"age": 18}
# 判断key是否存在
key = 'job'
if key in user_dic:
print(user_dic[key])
else:
print(f"不存在{key}")
集合
什么是集合
一个无序的不重复元素序列
集合的语法是什么
使用set()或{}赋值
# 创建空集合
# name_set = set()
# name_set.add('Anna')
# name_set.add('Emma')
# print(name_set)
# {'Emma', 'Anna'}
# 直接赋值
names = {"Emma", "张三"}
print(names)
# {'张三', 'Emma'}
公共语法
运算符
合并操作、重复输出、判断存在
# 运算符
# +合并
names01 = ['Anna', 'Emma']
names02 = ['张三', '李四']
names = names01 + names02
print(names)
# ['Anna', 'Emma', '张三', '李四']
# *重复
info = 'hello'
print(info * 2)
# hellohello
# in存在 not in不存在
nums = [1, 2, 3]
print(3 in nums)
# True
print(5 in nums)
# False
print(5 not in nums)
# True