Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据列表中的内容将列表分为2?_Python_List - Fatal编程技术网

Python 如何根据列表中的内容将列表分为2?

Python 如何根据列表中的内容将列表分为2?,python,list,Python,List,所以我得到了这份名单 list=[“m2010”、“n1950”、“m1834”、“n993”、“m1490”] 我想让代码将列表分成2部分,应该是这样的: list = ["m2010","n1950","m1834","n993","m1490"] m_list = list n_list = [m_list.pop(m_list.index(i)) for i in m_list if i

所以我得到了这份名单

list=[“m2010”、“n1950”、“m1834”、“n993”、“m1490”]

我想让代码将列表分成2部分,应该是这样的:

list = ["m2010","n1950","m1834","n993","m1490"] 
m_list = list
n_list = [m_list.pop(m_list.index(i)) for i in m_list if i.startswith('n')]
n_list=[“n1950”、“n993”]

m_list=[“m2010”、“m1834”、“m1490”]


所有以“n”开头的内容都会出现在
n\u列表中,而“m”则出现在
m\u列表中,但我太笨了,无法自己去做……

列表理解非常简单。如果要保留原始列表,并制作两份副本:

list = ["m2010", "n1950", "m1834", "n993", "m1490"]

n_list = [item for item in list if item[0] == 'n']
m_list = [item for item in list if item[0] == 'm']
list = ["m2010","n1950","m1834","n993","m1490"] 
n_list = [i for i in list if i.startswith("n")]
m_list = [i for i in list if i.startswith('m')]
如果您不需要保留原件,可以执行以下操作:

list = ["m2010","n1950","m1834","n993","m1490"] 
m_list = list
n_list = [m_list.pop(m_list.index(i)) for i in m_list if i.startswith('n')]
输出:

>>> m_list
['m2010', 'm1834', 'm1490']
>>> n_list
['n1950', 'n993']

你可以做的一件事是制作一本字典,其中的关键字是单词的第一个字母

list=[“m2010”、“n1950”、“m1834”、“n993”、“m1490”]
def拆分(x):
d=dict()
对于x中的单词:
第一个=单词[0]
如果d.keys()中的第一个:
d[第一个].追加(word)
其他:
d[第一]=[字]
返回d
拆分列表=拆分(列表)
打印(拆分列表['m'])
打印(拆分列表['n'])

请提供您尝试过的代码。使用一个循环,使用
startswith()
检查第一个字母,然后将值附加到相应的列表中。欢迎使用堆栈溢出!StackOverflow不是免费的编码服务。你应该会的。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。有关详细信息,请参阅,并使用:)此代码的问题是,如果
m
n
在字符串中的任何位置,而不仅仅是第一个字母,则会将它们分开。@m-Chen-3谢谢,我没有注意到这个要求。固定的。