Python 将值替换为np.where并创建一个整数
我有一个这样的清单:Python 将值替换为np.where并创建一个整数,python,python-3.x,python-2.7,numpy,Python,Python 3.x,Python 2.7,Numpy,我有一个这样的清单: my_list = ['apple', 'orange', 'banana'] 我使用np.where将“banana”替换为整数“5”: 但结果是 >> ['apple', 'orange', '5'] 我需要 >> ['apple', 'orange', 5] 我如何才能做到这一点?是否可以使用映射函数来代替 my_list = ['apple', 'orange', 'banana'] list(map(lambda x:5 if x
my_list = ['apple', 'orange', 'banana']
我使用np.where
将“banana”替换为整数“5”:
但结果是
>> ['apple', 'orange', '5']
我需要
>> ['apple', 'orange', 5]
我如何才能做到这一点?是否可以使用映射函数来代替
my_list = ['apple', 'orange', 'banana']
list(map(lambda x:5 if x=='banana' else x, my_list))
是否可以改用映射函数
my_list = ['apple', 'orange', 'banana']
list(map(lambda x:5 if x=='banana' else x, my_list))
因为您使用的是python列表,所以请坚持使用python。如果需要混合数据类型,这尤其是一个好主意
np。其中
在循环遍历python对象数组时不会特别有效。以下是一个numpy解决方案:
my_list = [5 if x == 'orange' else x for x in my_list]
另外,您可以创建一个索引列表,其中my_list
包含'orange'
,类似于np的1-arg形式。其中使用类似的理解:
indices = [i, for i, x in enumerate(my_list) if x == 'orange']
因为您使用的是python列表,所以请坚持使用python。如果需要混合数据类型,这尤其是一个好主意np。其中
在循环遍历python对象数组时不会特别有效。以下是一个numpy解决方案:
my_list = [5 if x == 'orange' else x for x in my_list]
另外,您可以创建一个索引列表,其中my_list
包含'orange'
,类似于np的1-arg形式。其中使用类似的理解:
indices = [i, for i, x in enumerate(my_list) if x == 'orange']
您正在使用numpy数组。Numpy的一个基本特性是“Numpy数组中的元素都必须具有相同的数据类型,因此在内存中的大小相同。例外:可以有(Python,包括Numpy)对象数组,从而允许不同大小的元素数组。”(From)好的,我不知道,这解决了我的问题。我只是将所有内容转换为数字(表示为str),然后将整个数组转换为整数。谢谢。如果没有其他问题,您应该选择一个答案将您的问题从未答复队列中删除。向上投票对于帮助过你的人来说也是一个不错的奖励。你正在使用numpy数组。Numpy的一个基本特性是“Numpy数组中的元素都必须具有相同的数据类型,因此在内存中的大小相同。例外:可以有(Python,包括Numpy)对象数组,从而允许不同大小的元素数组。”(From)好的,我不知道,这解决了我的问题。我只是将所有内容转换为数字(表示为str),然后将整个数组转换为整数。谢谢。如果没有其他问题,您应该选择一个答案将您的问题从未答复队列中删除。向上投票对于帮助你的人来说也是一个不错的奖励。