我想给我的价值在我的列表中起个名字

2024-05-14 20:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上我在一个列表中有一些值是整数。我想给每个值一个名称,它是列表中的一个字符串,这样它就可以显示出我所取的值的名称。你知道吗

我已经试过把这个名字用引号括起来了,但那似乎管用

eliminate = [Couple1,Couple2,Couple3,Couple4,Couple5,Couple6]
length = len(eliminate)
FSmallest = eliminate[0]
SSmallest = eliminate[1]
print(eliminate)
gone = print(FSmallest," and ",SSmallest," have been eliminated!")

当我运行这个代码的时候。它给了我每对夫妇的号码,并说我已经排除了哪个号码。我想让它告诉我我淘汰了哪对夫妇。例如,“对联1:30和对联2:20已经取消!”但它不允许我在删除时添加文本和数字。你知道吗


Tags: 字符串名称列表整数名字引号号码print
1条回答
网友
1楼 · 发布于 2024-05-14 20:21:59

你有3个选择(至少)。你知道吗

  • 班级
  • 词典
  • 命名元组

1-类实现:

#Define the Couple class
class Couple:
    name = ""
    value = 0

    # The Constructor
    def __init__(self, the_name, the_value):
        self.name = the_name
        self.value = the_value

    # In this method we handle the output , when object is being printed.
    def __str__(self):
        return self.name + " : " + str(self.value)

#Create some objects 
couple_1 = Couple('couple1', 30)
couple_2 = Couple('couple2', 20)
couple_3 = Couple('couple3', 10)
couple_4 = Couple('couple4', 40)
couple_5 = Couple('couple5', 35)

#Put them in a list
eliminate = [couple_1, couple_2, couple_3, couple_4, couple_5] 
length = len(eliminate)
FSmallest = eliminate[0]
SSmallest = eliminate[1]
print(FSmallest, ' and ', SSmallest, ' have been eliminated!')

现在输出如下:

couple1 : 30 and couple2 : 20 have been eliminated!

2-字典实现列表:

eliminate = [
    {'name':'couple1', 'value':30},
    {'name':'couple2', 'value':20},
    {'name':'couple3', 'value':10},
    {'name':'couple4', 'value':40},
    {'name':'couple5', 'value':35},
]
length = len(eliminate)
FSmallest = eliminate[0]
SSmallest = eliminate[1]
print(FSmallest['name'], ' : ', FSmallest['value'], ' and ',\
        SSmallest['name'], ' : ', SSmallest['value'], ' have been eliminated!')

结果是一样的。你知道吗


3-命名元组实现:

namedtuple是类和字典的一种组合。 我们必须从集合模块导入它。你知道吗

from  collections import namedtuple



# Define a new namedtuple with 2 fields , name and value
# There are several ways to declare fields.
# Couple = namedtuple('Couple', ['name', 'value'])
# Couple = namedtuple('Couple', "name, value")
# Couple = namedtuple('Couple', "name value")

Couple = namedtuple('Couple', 'name value')

# Create some instances of our tuple
# We can declare the values of fields in 2 way
# First way is :
couple_1 = Couple(name='couple1', value=30)

# And the second way :
couple_2 = Couple('couple2', 20)
couple_3 = Couple('couple3', 10)
couple_4 = Couple('couple4', 40)
couple_5 = Couple('couple5', 35)

eliminate = [couple_1, couple_2, couple_3, couple_4, couple_5] 
FSmallest = eliminate[0]
FSmallest = eliminate[1]
print(FSmallest.name, ' : ', FSmallest.value, ' and ',\
        SSmallest.name, ' : ', SSmallest.value, ' have been eliminated!')

相关问题 更多 >

    热门问题