python列表推导式嵌套_python3进阶之推导式2之嵌套列表(list)推导式(comprehensions)...

嵌套列表式,列表中含列表

示例1:

# 考虑以下的 3x4 矩阵,如果你想交换行和列,可以用嵌套的列表推导式:

m1= [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],]

# 思路:先取每行首位,然后增加列的位置

m1=[[row[i] for row in m1] for i in range(4)]

print(m1)

# [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

示例2:

mam = [('x',['open1','open1','open1']),('y',['open1','open1','open0']),('z',['open0','open0','open0'])]

def find(c):

# 元组中列表C中的字符串i,遍历i中的字母j,判断j是否为数字,若是则输出

return [j for i in c for j in i if j.isdigit()]

na=[w for w, c in mam if find(c) == ['0', '0', '0']]

print(na)

示例3:

# 嵌套列表,找出含有字母“u”两个以上的

names = [['tom','billy','liubuqun','andrew','liuxiao','steven','liuhu'],['xiaoyunna','xiaoyunwang','xiaoyunyun','sherry','eva']]

list10=[name for ls in names for name in ls if name.count('u')>=2]

print(list10)

# ['liubuqun', 'liuhu', 'xiaoyunyun']

# for语句实现代码:

t = []

for li in names:

for name in li:

if name.count('u') >= 2:

t.append(name)

print(t)

# ['liubuqun', 'liuhu', 'xiaoyunyun']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值