列表、字典、集合推导式用法介绍

 

学习了几天,对于布尔值,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)

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Dmy20210205

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值