day3_高级变量类型

列表

name_list = ["zhangsan", "lisi", "wangwu"]
# 查
print(name_list[0])
print(name_list.index("wangwu"))
print(len(name_list))  # 查寻 列表的长度

# 改
# list assignment index out of range  下标超出范围
name_list[0] = "小明"

# 增
# append 向列表的末尾追加数据
name_list.append("hello")

# insert 在指定的索引位置加入数据  后面元素依次往后顺位
name_list.insert(1, "world")

# extend 把其他列表的所有内容追加到当前列表的末尾
temp_list = ["wo", "shi", "ni", "baba"]
name_list.extend(temp_list)

# 删
# remove 删除的是值
name_list.remove("小明")

# pop 默认 删除最后一个元素, 也可以删除指定索引位置的值
name_list.pop()
name_list.pop(1)

# clear 方法可以清空列表
# name_list.clear()


# 排序 sort() 默认从小到大,按ASCII表排序
name_list.sort()
# name_list.sort(reverse=True)  从大到小

# print(name_list)

# 列表生成式 (快速生成一个列表)
a = [x for x in range(10)]
print(a)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 两个for循环嵌套  for j in range(i)内层循环
b = [j for i in range(10) for j in range(i)]
print(
    b)  # [0, 0, 1, 0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8]

# 生成二维数组 [col * row for col in range(5)]内存循环
c = [[col * row for col in range(5)] for row in range(5)]
print(c)

# 二维转一维
c = [j for x in c for j in x]
print(c)

# if 筛选条件
d = [x for x in range(10) if x % 2 == 0]
print(d)  # 只会筛选偶数

# if-else的三元表达式
e = [x if x % 2 == 0 else x ** 2 for x in range(10)]
print(e)

元组

# 初始化元组时,如果只有一个元素,则必须加 ,
info_tuple = (1,)
# print(type(info_tuple))

# 元组里面可以是 不同 的数据类型
info_tuple = ("zs", 12, 23, "ls", 12)
# 查
print(info_tuple.index(12))
print(info_tuple[0])

# 获取长度
print(len(info_tuple))

# 计数
print(info_tuple.count(12))

# 字符串应用
info_tuple = ("小明", 23)
print("%s 今年 %d 岁了" % info_tuple)

列表和元组可以相互转换

# • 使用 list 函数可以把元组转换成列表
# list(元组)
# • 使用 tuple 函数可以把列表转换成元组
# tuple(列表)

字典

# 字典 键必须是不可变数据类型
xiaoming = {"name": "小明",
            "age": 18,
            "gender": True,
            "height": 1.75
            }

xiaohei = {
    "政治": 75,
    "英语": 50
}

# 增
xiaoming["408"] = 125  # if key存在则修改,不存在则新建

xiaoming.setdefault("math", 100)  # if key存在,则不修改,不存在则新建

xiaoming.update(xiaohei)  # 将 xiaohei的数据合并到xiaoming的后面

# 删除
del xiaoming['age']  # 删除指定的键值对

xiaoming.pop("gender")  # 删除指定的键值对

xiaoming.popitem()  # 随机删除一个键值对

# xiaoming.clear()    # 清空字典

# 查
print(xiaoming.keys())  # 所有的键
print(xiaoming.values())  # 所有的值
print(xiaoming.items())  # 所有的键值对

print(xiaohei.get("政治"))
print(xiaohei["英语"])

# 遍历
for i in xiaohei.keys():
    print(i)

for i in xiaohei.values():
    print(i)

for i in xiaohei.items():
    print(i)    # 打印元组

字符串切片操作

字符串[开始索引:结束索引:步长]

注: 左闭右开

在这里插入图片描述

集合

# 初始化一个空集合
demo_set=set()

# 直接初始化一个集合
fruits={"apple", "banana", "cherry"}

# 增
fruits.add("orange") 

y = {"google", "runoob", "apple"}
fruits.update(y)

# 删
fruits.clear() # 移除集合中的所有元素

fruits.discard("banana") # 删除集合中指定的元素

fruits.remove("banana") # 移除指定元素

# 拷贝一个集合
x = fruits.copy()
print(x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值