Python: 为列表中的所有元素添加相同的前缀
Python: Add Same Prefix to All Elements in List
假设我有以下 Python 列表:
['7831-0', nan, '3165-0', '7831-0', '7831-1']
我想为上面列表中的每个元素添加相同的前缀 ('ADD_'。我还想从我的列表中删除 nan。我想要的输出列表如下:
list = ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
我尝试了以下代码:
prefix_ADD = 'ADD_'
new_list = [prefix_ADD + x for x in list]
但我收到以下错误:
TypeError: must be str, not float
your_list = ['7831-0', float('nan'), '3165-0', '7831-0', '7831-1']
print(your_list) # ['7831-0', nan, '3165-0', '7831-0', '7831-1']
prefix_ADD = 'ADD_'
new_list = [prefix_ADD + x for x in your_list if isinstance(x, str)]
print(new_list) # ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
[prefix_ADD + x for x in list if not str(x) == "nan"]
是过滤掉 nan 的一种方法
也许是一个不太优雅的解决方案,但是这个怎么样:
new_list=[]
old_list = ['7831-0', nan, '3165-0', '7831-0', '7831-1']
prefix_ADD = 'ADD_'
for x in old_list:
if x != nan:
new_list.append(prefix_ADD + x)
print(new_list)
# ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
假设我有以下 Python 列表:
['7831-0', nan, '3165-0', '7831-0', '7831-1']
我想为上面列表中的每个元素添加相同的前缀 ('ADD_'。我还想从我的列表中删除 nan。我想要的输出列表如下:
list = ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
我尝试了以下代码:
prefix_ADD = 'ADD_'
new_list = [prefix_ADD + x for x in list]
但我收到以下错误:
TypeError: must be str, not float
your_list = ['7831-0', float('nan'), '3165-0', '7831-0', '7831-1']
print(your_list) # ['7831-0', nan, '3165-0', '7831-0', '7831-1']
prefix_ADD = 'ADD_'
new_list = [prefix_ADD + x for x in your_list if isinstance(x, str)]
print(new_list) # ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']
[prefix_ADD + x for x in list if not str(x) == "nan"]
是过滤掉 nan 的一种方法
也许是一个不太优雅的解决方案,但是这个怎么样:
new_list=[]
old_list = ['7831-0', nan, '3165-0', '7831-0', '7831-1']
prefix_ADD = 'ADD_'
for x in old_list:
if x != nan:
new_list.append(prefix_ADD + x)
print(new_list)
# ['ADD_7831-0', 'ADD_3165-0', 'ADD_7831-0', 'ADD_7831-1']