gpt4 book ai didi

python - 如何查找字符串是在列表中还是在python中的列表中?

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:14 24 4
gpt4 key购买 nike

我正在尝试处理一个 csv 文件,如果它包含一个字符串,我想提取整行并将其添加到另一个全新的列表中。但是我的方法是给我包含该字符串的所有行,而我想要唯一的字符串行。让我用一个例子来解释它:

我有以下列表:

myList = [['abc', 1, 3, 5, 6], ['abcx', 5, 6, 8, 9], ['abcn', 7, 12, 89, 23]]

我想获取包含字符串“abc”的整个列表。我尝试了以下方法:

newList = []
for temp in myList:
if 'abc' in temp:
newList.append(temp)

但这给了我所有的值,因为“abc”也是字符串中所有其他字符串的子字符串。什么是解决这个问题的更清洁的方法?

更新:

我有一个巨大的 CSV 文件,我正在使用 readlines() 逐行读取它,我想找到具有“abc”基因的行并将整行插入列表。但是当我执行 if 'abc' in 时,我得到所有其他字符串也将“abc”作为子字符串。我怎样才能忽略子字符串。

最佳答案

根据您对问题的评论,我认为如果您想处理 csv 文件,使用 numpypandas 是直接的。 Pandas 有内置的 csv 阅读器,您可以提取行并在几行中轻松转换为列表或 numpy 数组。以下是我的做法:

import pandas
df = pandas.read_csv("your_csv")
#assuming you have column names.
x = df.loc[df['col_name'] == 'abc'].values.tolist() #this will give you the whole row and convert into a list.

或者

import numpy as np
x = np.array(df.loc[df['col_name'] == 'abc']) #gives you a numpy array

这使您可以更灵活地进行处理。我希望这会有所帮助。

关于python - 如何查找字符串是在列表中还是在python中的列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53216271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com