Python语法问答3:列表+元组+字符串+集合+公共语法

列表

定义列表的语法是什么

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
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饭碗、碗碗香

感谢壮士的慷概解囊!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值