如何在Python中将列表表示的变量转换为代表列表中所有这些值的变量?

时间:2019-05-07 06:48:35

标签: python python-3.x

因此,假设我有一个名为fish的变量,它代表一个看起来像这样的列表: 鲨鱼,鲑鱼,cat鱼 我如何将鱼变成一个分别代表每个值的变量?

fish = ['shark', 'salmon', 'catfish']
print(fish)

我得到的结果可能很明显是['shark','salmon','catfish']。我什至不知道从哪里开始。我该如何打印出来 鲨鱼 三文鱼 fish鱼一次一行。 真正的目标是代替上面的列表代表鱼类,它看起来像这样:

fish = shark
fish = salmon
fish = catfish

4 个答案:

答案 0 :(得分:2)

fish = ['shark', 'salmon', 'catfish']是一个列表,它本身足以代表您的鱼类集合。
要访问列表中的任何元素,只需使用它的索引,您可以将其视为代表单个鱼类的variable

In [45]: fish = ['shark', 'salmon', 'catfish']                                                                                                                                                                        

In [46]: fish[0]                                                                                                                                                                                                      
Out[46]: 'shark'

In [47]: fish[1]                                                                                                                                                                                                      
Out[47]: 'salmon'

In [48]: fish[2]                                                                                                                                                                                                      
Out[48]: 'catfish'

现在为了在新行中打印每条鱼,我们使用变量iteratewalk through

for item in fish:
    print(item)
                                                                                                                                                                                                            #shark
#salmon
#catfish

或使用上述索引方法

for idx in range(len(fish)):
    print(fish[idx])                                                                                                                                                                                                     
#shark
#salmon
#catfish

或者,如果您希望它们以一行的形式打印,请使用str.join将列表中的所有项目合并为一个字符串,并以一行全部加上一个空格

print(' '.join(fish))
#shark salmon catfish

或者如果您希望它们多行打印,请使用str.join\n

print('\n'.join(fish))
#shark
#salmon
#catfish

答案 1 :(得分:2)

python的特殊 hack 可以做到这一点:

print('\n'.join(fish))

输出:

shark
salmon
catfish

答案 2 :(得分:1)

您可以使用for-each循环遍历列表的元素:

for value in fish:
    print(value)

答案 3 :(得分:0)

您需要 list 逐个元素迭代

fish = ['shark', 'salmon', 'catfish']
for f in fish:
    print(f)

如果您想要一个字符串,并且每个字符串都换行:

fish = ['shark', 'salmon', 'catfish']
str_fish = "\n".join(fish)
print(str_fish)

这里有live example