Python 3.3 - 列表

2024-04-19 04:18:32 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着创建一个前10个州的州缩写列表。很简单(不要称此列表为states1)。然后我想使用切片创建第二个列表,其中is只输出中间的4个状态…仍然足够(我们称这个列表为states2)。好吧,所以我搞砸的部分是我在这里。。我想用states2作为唯一的参数来使用一个函数(让我们把它命名为list\u func)。在这个参数中,我想删除列表中的第二个状态,插入TX作为索引2,向用户请求一个随机的新状态并将其附加到列表中,然后反转列表。到目前为止我想到的是。。我想我有它的大部分正确,但我不确定的微调。。。你知道吗

def main():

    states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL']
    print(states1)
    states2 = states1[3:7]
    print(states2)

    for list_func in states2:
        states2.remove('CA')
        states2.insert(1,'TX')
        user_st = input('Enter a new state: ')
        states2.append(user_st)
        states2.reverse()

    print(states2)


main()

Tags: 列表参数ismain状态切片listca
2条回答

考虑到问题的局限性,类似这样的方法是可行的:

def main():
    states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL']
    print(states1)
    states2 = states1[3:7]
    print(states2)

    list_func(states2)


def list_func(states):
    states.remove('CA')
    states.insert(1,'TX')
    user_st = input('Enter a new state: ')
    states.append(user_st)
    states.reverse()

    print(states)

main()

list\u func现在是一个函数,唯一的输入是states2 list。当调用该函数时,它将执行您列出的操作。没有使用您提到的pop(),您还没有涵盖它

应该打印states2而不是迭代器,list_func。。。我认为没有必要在for上进行states2循环。你知道吗

def main():

    states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL']
    print(states1)
    states2 = states1[3:7]
    print(states2)

    states2.remove('CA') 
    states2.insert(1,'TX')
    user_st = input('Enter a new state: ')
    states2.append(user_st)
    states2.reverse()

    print(states2)

考虑使用pop方法,而不是remove,方法如下:

states2.pop(states2.index('CA'))

对于你的家庭作业:

states1 = ['AL', 'AK', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL']
print(states1)
states2 = states1[3:7]
print(states2)

# call your function:
list_func(states2)
print(states2)



def list_func(lst):
    lst.pop(lst.index('CA')
    lst.insert(1,'TX')
    user_st = input('Enter a new state: ')
    lst.append(user_st)
    lst.reverse

相关问题 更多 >