Victor0321 发表于 2022-3-30 16:51:24

关于列表推导式

可否用列表推导式表达推出一个列表当在A列表选出b的时候,相对应的B列表里不能为x/y元素

A = ['a','b','c','d','e']
B = ['x','y','z','s','w']
shift = [ for i in A for j in B if (i == 'b') and (j == 'y' or 'z')]
print (shift)


ba21 发表于 2022-3-30 18:07:49

问题 描述的不情况。
不如你直接说下要得到什么结果?

Victor0321 发表于 2022-3-30 18:28:31

ba21 发表于 2022-3-30 18:07
问题 描述的不情况。
不如你直接说下要得到什么结果?

就是比如说 A B 两个队伍进行两两PK,A队里有 (刘备/关羽/张飞)B队里有(曹操/郭嘉/司马),但是刘备说他没有跟郭嘉pk,也就是说当A为刘备的时候 B 肯定不为郭嘉,那么怎么用列表表达式表述这种可能?

我想的是
A = ['刘备','关羽','张飞']
B = ['曹操','郭嘉','司马']
possible = [ for i in A for j in B if XXXXXXX]##这里面是不是有个条件当A为刘备的时候 B 不选郭嘉怎么表达

wp231957 发表于 2022-3-30 19:12:31

Victor0321 发表于 2022-3-30 18:28
就是比如说 A B 两个队伍进行两两PK,A队里有 (刘备/关羽/张飞)B队里有(曹操/郭嘉/司马),但是刘备说 ...

结果??

大马强 发表于 2022-3-30 19:23:31

Victor0321 发表于 2022-3-30 18:28
就是比如说 A B 两个队伍进行两两PK,A队里有 (刘备/关羽/张飞)B队里有(曹操/郭嘉/司马),但是刘备说 ...

A = ['刘备', '关羽', '张飞']
B = ['曹操', '郭嘉', '司马']

possible = [ for i in A for j in B if not (i == "刘备" and j == "郭嘉")]
print(possible)

ba21 发表于 2022-3-30 19:24:39

Victor0321 发表于 2022-3-30 18:28
就是比如说 A B 两个队伍进行两两PK,A队里有 (刘备/关羽/张飞)B队里有(曹操/郭嘉/司马),但是刘备说 ...

那你怎么确定 “刘备说他没有跟郭嘉pk” 万一是“刘备说他没有跟司马pk” 呢
页: [1]
查看完整版本: 关于列表推导式