import random
import time

start_running = time.time()
# 列表相关操作:
# 创建列表的方式:
# 1.字面量语法
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list1)
# 2.构造器语法
list2 = list(range(1, 10))
print(list2)
# 3.生成式(推导式)语法 ※推荐
list3 = [i ** 2 for i in range(1, 10)]
print(list3)

# 遍历列表中的元素
# 1. 读写循环
for i in range(len(list1)):
    print(list1[i])
# 2. 只读循环
for i in list2:
    print(i)
# 3. 带序号读 ※推荐格式化输出
for i, x in enumerate(list3):
    print(i + 1, x)

# 和列表相关的运算
# 1.重复运算
print('重复运算:', list1 * 2)
# 2.成员运算
print('成员运算:', 9 in list2)

# 索引和切片
# 1.正向索引:0~n-1 /
print('\n正向索引:', end='')
for i in range(len(list2)):
    print(list2[i], end=' ')
# 负向索引:-n~-1
print('\n负向索引:', end='')
for i in range(len(list2)):
    print(list2[-(i + 1)], end=' ')
print('\n', '- ' * 20)

# 合并
list4 = list1 + list2
list4 += list3
# 比较 是否元素相同
print(list2 == list1)
# 比大小 主要对比第一个元素,如果是字符串 就对比对一个字母的编码。ord,
list5 = [9, 8, 7, 6, 5, 4, 3, 2]
print(f'答案: {list5 > list4} : list5 ({list5}) > list4 ({list4}) : ')

#  汉字编码范围:0x4e00,0x9fa6 。
#  ord()查看字符对应的编码。
#  chr()将编码处理成相对应的字符。
#  hex()将编码编程 编程十六进制

# 列表增加元素
list5.append(1)  # 追加
list5.insert(0, 10)  # 插入
list5.insert(0, 10)  # 插入
print('list5:', list5)

# 列表删除元素
list5.pop()  # 删除追后一个元素 #可以赋值给其他元素
list5.pop(3)  # 删除指定位置元素
del list5[4]  # 面向对象删除元素
list5.remove(2)  # 删除第一个列表中第一个指定元素
while 2 in list4:
    list4.remove(2)  # 删除list4所有的 元素2
print('list5:', list5)
list4.clear()  # 清空列表元素
print('list4:', list4)

# 列表查找
if 3 in list5:  # 判断避免出现崩溃
    print(f'元素在第 {list5.index(3)} 个。')  # 元素的位置
else:
    print(f'元素不在列表之中。')
if 10 in list5[1:]:  # 切片查找
    print(f'元素在第 {list5.index(10, 1)} 个。')  # 切片查找指定区域内数据
else:
    print(f'元素不在列表之中。')
# 列表中出现的次数
print(f'元素 10 在列表中出现 {list5.count(10)} 次。')
print('\n', '- ' * 20)
print('list3列表内容:',list3)
#排序
print('list3倒序切片:',list3[::-1])
list3.reverse()
print('list3倒序方法:',list3)
#排序
list3.sort()  #reverse 正序倒叙    key 改变排序形式 如:key=int ;key=str
print('list3正序排序方法:',list3)
list3.sort(reverse=True)
print('list3倒叙排序方法:',list3)
#列表合并
list3.extend(list5)
print('list3扩展合并方法:',list3) #将另外一个列表合并进来
end_running = time.time()
print(f'程序运行时间是 {end_running - start_running :.3f} 秒')

print('- ' * 20,'#列表随机抽样')
#列表随机抽样
# sample 函数可以对元素进行无放回抽样
print(random.sample(list3,k=5))
#  函数可以对元素进行有放回抽样
print(random.choices(list3,k=5))
#  函数可以对元素进行单个抽样
print(random.choice(list3))
#  函数可以对列表进行打乱
random.shuffle(list3)
print(list3)

 

posted on 2022-07-13 18:06  何方明月  阅读(127)  评论(0编辑  收藏  举报