【问题标题】:Adding text in front of separate numbers in list在列表中的单独数字前面添加文本
【发布时间】:2021-07-08 13:52:32
【问题描述】:

我是 python 新手,在我的程序中最后一次打印时碰壁了 我得到了一个用数学 int 创建的数字列表(打印时的数字看起来像这样 [0, 0, 0, 0] #仅使用 1 - 1000 的随机数

我想在列表中的每个随机数前面添加文本并像这样打印出来 [保罗 0 弗雷德里克 0 猿 0 艾达 0]

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 你试过什么?你在哪里卡住?你研究了什么?根据How to Ask,编辑您的问题以说明您在此处发布之前描述的满足此要求的尝试。
  • 文字从何而来?我们提出的任何我们只是猜测的答案都不太可能对您有用,因此请向我们展示您的尝试,也许我们可以帮助解决它。

标签: python list random text


【解决方案1】:

听起来你想做一本字典。你可以输入:

d = dict()
d["Paul"] = random.randint(1,100)
....
print(d)


#output: {"Paul":1, "Fredrick":50, "Ape":25, "Ida":32}

另外,没有什么能阻止您在同一个列表中使用字符串和整数! Python 不是strongly静态类型的。

如果您有一个数字列表 [45,5,59,253],并且您想为它们添加名称,您可能需要一个循环。

nums = [45,5,59,253]
names = ["Paul", "Frederick", "Ape", "Ida"]
d = dict()

i = 0
for n in nums:
    d[names[i]] = n
    i+=1

或者如果你想要一个列表

nums = [45,5,59,253]
names = ["Paul", "Frederick", "Ape", "Ida"]

list = [x for y in zip(names, nums) for x in y]

【讨论】:

  • 只是作为一个书呆子,python强类型的,但它不是静态类型的。
  • 这完全取决于他想要的输出格式。字典很棒,易于创建和使用,混合类型的列表非常好,如果他想要从他的问题中得到准确的输出,那么它很容易制作,但以后不实用。
  • 我的描述没有我想要的那么清楚。数字列表实际上是由数学创建的列表。所以数字不是随机的,只是根据用户输入并不总是相同
  • 非常符合我的要求。谢谢 ! nums = [45,5,59,253] names = ["Paul", "Frederick", "Ape", "Ida"] list = [x for y in zip(names, nums) for x in y]
【解决方案2】:

您必须将随机整数转换为字符串并将它们添加到您想要的文本(字符串)中。 示例:

lst=[]
x = str(randint(0,1000))
text = 'Alex'
final_text = text+' '+x
lst.append(final_text)

刚刚添加了您示例中的空格。如果您这样做,访问数字会稍微复杂一些。

【讨论】:

    猜你喜欢
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多