首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得类似"1.number=85 2.number=97“的输出?

如何获得类似"1.number=85 2.number=97“的输出?
EN

Stack Overflow用户
提问于 2019-06-06 21:36:33
回答 4查看 101关注 0票数 1

我创建了一个列表,并随机选择了80个元素。我的代码:

代码语言:javascript
复制
import random
a=list(range(1,100))
b=random.sample(a,80)
print(b)

我得到了这个输出

代码语言:javascript
复制
[85, 97, 32, 95, 35, 70, 57, 19, 71, 81, 39, 50, 93, 16, 13, 94, 36, 99, 38, 90, 54, 6, 29, 72, 63, 5, 64, 45, 24, 47, 33, 52, 44, 65, 23, 82, 21, 89, 74, 12, 51, 18, 78, 61, 86, 88, 62, 3, 96, 30, 69, 75, 84, 58, 9, 43, 31, 7, 28, 1, 91, 55, 37, 98, 73, 27, 92, 25, 68, 87, 41, 49, 2, 66, 77, 46, 53, 20, 4, 26]

如何将此输出转换为like

代码语言:javascript
复制
1.number=85 2.number=97...80.number=26
EN

回答 4

Stack Overflow用户

发布于 2019-06-06 21:47:42

有几个选项,但对您来说最清楚的可能是直接print without the newline character.join所需的子字符串

使用enumerate(my_iterable, 1)将允许您从其中“提取”值,这些值是第一个迭代器(在您的示例中为b)中下一个值的元组,以及该值的索引(从1开始,作为enumerate的第二个参数)

对于[85, 97, 32, ...,您将删除(85, 1)(97, 2)(32, 3)...它可以用来构建你的新字符串!

打印版本

代码语言:javascript
复制
# your code
...
for index, value in enumerate(b, 1):  # begin enumeration at 1
    print("{}.number={} ".format(index, value), end="")
print("")  # end with a new line

加入版本的

创建新的生成器表达式

代码语言:javascript
复制
" ".join("{}.number={}".format(i,v) for i, v in enumerate(b, 1))

解释器中的完整示例:

代码语言:javascript
复制
>>> b = [85, 97, 32, 95, 35, 70]
>>> print(" ".join("{}.number={}".format(i,v) for i, v in enumerate(b, 1)))
1.number=85 2.number=97 3.number=32 4.number=95 5.number=35 6.number=70
票数 1
EN

Stack Overflow用户

发布于 2019-06-06 21:44:28

如果只想修改打印输出而不修改b的数据结构,并且希望每一项都有自己的行,请将print语句替换为以下行:

代码语言:javascript
复制
for item_number, item_value in enumerate(b, 1):
    print(f'{item_number}.number={item_value}')

它使用Python 3.6中引入的f字符串。如果您需要旧版Python的代码,或者希望将项目打印在一行上,请让我知道。

票数 0
EN

Stack Overflow用户

发布于 2019-06-06 21:45:04

代码语言:javascript
复制
my_list=[85, 97, 32, 95, 35, 70, 57, 19, 71, 81, 39, 50, 93, 16, 13, 94, 36, 99, 38, 90, 54, 6, 29, 72, 63, 5, 64, 45, 24, 47, 33, 52, 44, 65, 23, 82, 21, 89, 74, 12, 51, 18, 78, 61, 86, 88, 62, 3, 96, 30, 69, 75, 84, 58, 9, 43, 31, 7, 28, 1, 91, 55, 37, 98, 73, 27, 92, 25, 68, 87, 41, 49, 2, 66, 77, 46, 53, 20, 4, 26]

out = ""
for i in range(len(my_list)):
    out += "{0}.number={1} ".format(i+1,my_list[i])
out = out[:-1] # to remove last space
print(out)

打印

代码语言:javascript
复制
1.number=85 2.number=97 3.number=32 4.number=95 5.number=35 6.number=70 7.number=57 8.number=19 9.number=71 10.number=81 11.number=39 12.number=50 13.number=93 14.number=16 15.number=13 16.number=94 17.number=36 18.number=99 19.number=38 20.number=90 21.number=54 22.number=6 23.number=29 24.number=72 25.number=63 26.number=5 27.number=64 28.number=45 29.number=24 30.number=47 31.number=33 32.number=52 33.number=44 34.number=65 35.number=23 36.number=82 37.number=21 38.number=89 39.number=74 40.number=12 41.number=51 42.number=18 43.number=78 44.number=61 45.number=86 46.number=88 47.number=62 48.number=3 49.number=96 50.number=30 51.number=69 52.number=75 53.number=84 54.number=58 55.number=9 56.number=43 57.number=31 58.number=7 59.number=28 60.number=1 61.number=91 62.number=55 63.number=37 64.number=98 65.number=73 66.number=27 67.number=92 68.number=25 69.number=68 70.number=87 71.number=41 72.number=49 73.number=2 74.number=66 75.number=77 76.number=46 77.number=53 78.number=20 79.number=4 80.number=26
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56478802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档