为了账号安全,请及时绑定邮箱和手机立即绑定

基于特定元素打印列表中的元素

基于特定元素打印列表中的元素

喵喵时光机 2021-07-09 18:52:39
我想根据这样的要求存储元素列表:循环列表并检查每个字符串如果是这个字符串,则将除当前字符串之外的其他字符串存储在列表中。a = ["I","have","something","to","buy"]当循环到“I”或“have”或“something”或“buy”时,除当前循环的元素外,其他元素将存储在列表中。例如,我们循环到“something”,因此将存储“I”、“have”、“to”、“buy”。我的代码:store = []for x in a:    if x:        #I stuck here, I am really sorry, I know I should give more example,        #but I really cant continue after here.我的预期输出:[["have","something","to","buy"], ["I","something","to","buy"], ["I","have","to","buy"], ["I","have","something","buy"], ["I","have","something","to"]]
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

a = ["I","have","something","to","buy"]

store = []

for x in a:

    s = []

    for i in a:

        if i == x:

            continue

        else:

            s.append(i)

    store.append(s)

print(store)

试试这个


查看完整回答
反对 回复 2021-07-13
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

由于您只检查列表中已有的单词,因此您可以将问题简化为:

wordLists = [a[:w]+a[w+1:] for w in range(len(a))]

输出:

[['have', 'something', 'to', 'buy'], ['I', 'something', 'to', 'buy'], ['I', 'have', 'to', 'buy'], ['I', 'have', 'something', 'buy'], ['I', 'have', 'something', 'to']]


查看完整回答
反对 回复 2021-07-13
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

您实际上是在从 5 个元素的列表中寻找 4 个元素(没有替换)的所有组合。


使用itertools.combinations:


from itertools import combinations


a = ["I", "have", "something", "to", "buy"]

print(list(combinations(a, 4)))

# [('I', 'have', 'something', 'to'), ('I', 'have', 'something', 'buy'),

#  ('I', 'have', 'to', 'buy'), ('I', 'something', 'to', 'buy'),

#  ('have', 'something', 'to', 'buy')]


查看完整回答
反对 回复 2021-07-13
  • 3 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号