学习了几天,对于布尔值,zip() 随机数 列表、字典、集合推导式进行了总结
# -*- coding: utf-8 -*-
# @File : 补充.py
# 描述 : 布尔值,zip() 随机数 列表、字典、集合推导式
# @Time : 2020/5/28 18:23
# @Author : 崔
# @versions : 1.0
# 1、bool型 假的值有:None、0、0.0、False、所有的空容器(空列表、空元组、空字典、空集合、空字符串),其它是真
# 2、zip()函数
# zip() 函数⽤于将可迭代的对象作为参数,将对象中对应的元素打包成⼀个元组,然后返回由这些元组组成的列表
import random
a = [1, 2, 3, 4]
b = [2, 3, 4]
res = zip(a, b)
print(res) # <zip object at 0x000002696B913B08> 是一个对象,需要迭代出来
print(list(res)) # [(1, 2), (2, 3), (3, 4)]
# 可以使⽤for-in 遍历
for x, y in zip(a, b):
print(x, y)
# # 3、随机数 import random
s1 = [134, 45, 56, 67, 34, 23, 254]
print(random.choice(s1)) # choice(参数) 返回序列,列表,元组、字符串中一个随机元素
print(random.randint(0, 3)) # [0.3]
print(random.randrange(0,10,2))
random.shuffle(s1) # 将序列元素随机排列(打乱顺序)
print(s1) # 将序列元素随机排序
# 列表推导式
'''
[exp for value in list (if表达式)] exp为表达式, if可选
'''
l1 = [x*x for x in range(6)]
print(l1)
l2 = [x*x for x in range(6) if x % 2 == 0]
print(l2)
# 模拟扑克牌洗牌
yanse = ['红桃', '方片', '黑桃', '梅花']
dianshu = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']
poke = [[x, y] for x in yanse for y in dianshu]
random.shuffle(poke)
print(poke)
# 集合表达式
'''
{exp for value in set1}
'''
res = {value for value in range(1, 23)}
print(res)
# 字典推导式
'''
{key:value for key, value in item}
'''
d1 = {key: value for key, value in zip(['a', 'b', 'c'], (9, 18, 90))}
print(d1)
s = "sjksdaaafadsfa"
d2 = {ch: s.count(ch) for ch in s}
print(d2)