kongtianyi-pythonday02

列表

# 随机数导入
from random import randint

ls1 = []  # 空列表
for i in range(10):
    ls1.append(i)
print(ls1)

ls2 = []  # 空列表
for i in range(10):
    num = randint(40, 100)  # [start, end] 随机整数
    ls2.append(num)
print(ls2)

# 遍历 : 从容器中一个一个取出来
# 1 索引遍历
# 选出所有及格的同学并生成一个新的列表
jige_list = []
print("ls2 length", len(ls2))  # 元素个数
for i in range(len(ls2)):
    if ls2[i] >= 60:
        jige_list.append(ls2[i])
print("jige_list = ", jige_list)
# 2 迭代遍历
# for 临时变量 in 可迭代对象:
#     循环体
jige_list = []
for x in ls2:
    if x >=60:
        jige_list.append(x)
print(jige_list)

推导式

from random import randint
# 简化for 循环和列表的操作
# 语法
# [表达式 for 临时 in 迭代对象 if 条件]
print([i for i in range(10)])
print([i + 2 for i in range(10)])
print([i**2 for i in range(10)])
ls2 = [randint(40, 100) for _ in range(10)]
print(ls2)
print([score for score in ls2 if score >= 60])
# python 三目运算符
# 满足条件返回的值 if 条件 else 不 满足条件返回的值
a = 100
b = 999
# if a > b:
#     print(a)
# else:
#     print(b)
print(a if a > b else b)

元组

# 元组 tuple 不可修改的列表
t = (11, 111, "哈哈")
print(t)
print(type(t))  # <class 'tuple'>

# 访问
print(t[2])
# 修改
# t[0] = 199 TypeError: 'tuple' object does not support item assignment

# 列表直接的转化
print(tuple([i for i in range(10)]))
print(list(t))

# 遍历
for x in t:
    print(x)

# 只有一个元素的元组
a = (100,)
print(type(a))

#  常做函数的返回值 , 安全


字典

# key-value数据结构  可以自定义索引的列表
stu_info = {'name': 'eric', 'age': 19, 'score': 99, 'addr': '铁岭的'}
print(stu_info)
print(type(stu_info)) #<class 'dict'>
print(len(stu_info))

# 访问  无序的  通过key 访问value
print(stu_info['name'])
#print(stu_info['gender']) # KeyError: 'gender'
print(stu_info.get('name'))
print(stu_info.get('gender'))  #None
print(stu_info.get('gender', 'female'))  # 可以设置默认值
# 修改
stu_info['age'] = 30
print(stu_info)
# 增加
stu_info['gender'] = "male"
print(stu_info)
# 删除
# del stu_info
# print(stu_info) : name 'stu_info' is not defined
del stu_info['addr']
print(stu_info)

stu_info.clear()
print(stu_info) # {} 空字典

字典的遍历

stu_info = {'name': 'eric', 'age': 19, 'score': 99, 'addr': '铁岭的'}
print(stu_info)
# 获取所有键
print(list(stu_info.keys()))
# 获取所有值
print(list(stu_info.values()))
# 获取所有键值
print(list(stu_info.items()))
print(dict([('name', 'eric'), ('age', 19), ('score', 99), ('addr', '铁岭的')]))
# 遍历
for item in stu_info.items():
    print(item)
for k, v in stu_info.items():
    print(k, v)
# 字典推导式
print({i: i for i in range(10)})
print({str(i): i for i in range(10)})
print({(i, ): i for i in range(10)})

切片

# 对序列(字符串/元组/列表)截取一部分的操作
name = "Python C++ Java"
ls = [111,  222, 333]
# 序列[start: end: step]  左闭右开
print(name[0:6])
print(name[:6])
print(name[7:])
print(name[:])
print(name[::2])
print(name[::-1])  # 右 --> 左
# 每一个值都会有两个索引, 负向索引从-1开始
print(name[-1])
print(name[-4:])
print(name[-1:-5:-1])
#
# ls3 = ls  # 浅拷贝 会影响原数据
# ls2 = ls[:]  # 深拷贝  对原数据无影响
# ls2[0] = 666
# ls3[0] = 666
# print(ls)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值