如何在我的记事本中分发我在 python 中创建的列表的输出
How can I distribute the output of a list I made in python in my notepad
我试图解决一个正在发生的问题,因为我的 IDE 无法保留数字序列,因为范围函数是这样工作的。
我提出了一个 问题,所以这是该问题的后续问题。这是我对上一个问题的评论列表。
其实我也做了一些调整,加了一行; 'My_list = list(range(100)) 在应用您的代码之前,它确实有效。但它结合了没有逗号的答案,例如 10 执行此“0123456789”而不是“0,1,2,3,4,5,.....8,9”。有什么建议吗?
我决定 post 这个问题不会让另一个问题脱离上下文(正如我被建议的那样)。
有什么建议吗?
您只需在打印每个数字后插入一个逗号:
my_list = list(range(100))
with open("output.txt", "w") as o:
for i in range(len(my_list)):
o.write("%d," % my_list[i]) # Here, after '%d' you can place a comma, or any text you want
您需要了解字符串在 Python 中的工作原理。
字符串是保存在封闭桶中的常量(文字)。在 official docs 中,您可以找到“字符串是 Unicode 代码点的不可变序列”。
但是程序员需要以可编程的方式更改或操作文本。在你的情况下你想要:
"[x1][space][逗号][x2][逗号]...[xn][space][逗号]"
其中“xn”是一个数字,“,”是常数。
为了实现这一点,以可编程的方式,程序员可以使用“掩码”来告诉软件他们想要放置更改的位置。可以使用 string format operators:
"%d , %f" %(my_first_integer, my_float)
[0][1][2][3][4][[=10=]]
# Hey Python, return a string, using the above template,
# but place useful stuff where you find magic keywords.
这意味着:
- 创建一个 6 位序列;
- 在[0]中,将类型
int
的my_integer转换为chr
;
- 在[1]中,复制“”;
- 在[2]中,复制“,”。
- 在[3]中,复制“”;
- 在[4]中,将类型
float
的my_float转换为chr
;
- 在[5]中,放置“\0”这样字符串就结束了。 (自动放在Python)
还有其他方法可以做到这一点,即字符串对象有一个名为 format
的便捷方法来处理此构造:
my_integer = 2
my_string = "{0}*pi = {1}".format(my_integer, my_integer*3.14)
print(my_string)
# 2*pi = 6.28
程序员将使用一种或另一种策略获得相同的最终结果。
在Python以及其他语言中,可以使用特定方法and/or运算符组合字符串、连接、获取子字符串等。
为了保持可读性,您可能(我猜)想将每个值放在一行中。在字符串中,您可以使用特殊字符,例如 \n
for new lines.
my_list = list(range(100))
# ... useful code here and there ...
with open("output.txt", "w") as o:
o.write("My list:\n")
o.write("\tSize: {0}\n\n".format(len(my_list)))
o.write("\t----start----\n")
for i in range(len(my_list)):
o.write("%d\n" % my_list[i])
o.write("\n\t----end----\n")
# That writes:
# My list:
# Size: 100
#
# ----start----
# 0
# 1
# 2
# 3
...
# 99
#
# ----end----
请记住,这不是综合指南,而是外行指南。我跳过了很多无聊的词汇和技术细节,你最好在 Python 书籍和课程中找到它们。
我试图解决一个正在发生的问题,因为我的 IDE 无法保留数字序列,因为范围函数是这样工作的。
我提出了一个
其实我也做了一些调整,加了一行; 'My_list = list(range(100)) 在应用您的代码之前,它确实有效。但它结合了没有逗号的答案,例如 10 执行此“0123456789”而不是“0,1,2,3,4,5,.....8,9”。有什么建议吗?
我决定 post 这个问题不会让另一个问题脱离上下文(正如我被建议的那样)。
有什么建议吗?
您只需在打印每个数字后插入一个逗号:
my_list = list(range(100))
with open("output.txt", "w") as o:
for i in range(len(my_list)):
o.write("%d," % my_list[i]) # Here, after '%d' you can place a comma, or any text you want
您需要了解字符串在 Python 中的工作原理。
字符串是保存在封闭桶中的常量(文字)。在 official docs 中,您可以找到“字符串是 Unicode 代码点的不可变序列”。
但是程序员需要以可编程的方式更改或操作文本。在你的情况下你想要:
"[x1][space][逗号][x2][逗号]...[xn][space][逗号]" 其中“xn”是一个数字,“,”是常数。
为了实现这一点,以可编程的方式,程序员可以使用“掩码”来告诉软件他们想要放置更改的位置。可以使用 string format operators:
"%d , %f" %(my_first_integer, my_float)
[0][1][2][3][4][[=10=]]
# Hey Python, return a string, using the above template,
# but place useful stuff where you find magic keywords.
这意味着:
- 创建一个 6 位序列;
- 在[0]中,将类型
int
的my_integer转换为chr
; - 在[1]中,复制“”;
- 在[2]中,复制“,”。
- 在[3]中,复制“”;
- 在[4]中,将类型
float
的my_float转换为chr
; - 在[5]中,放置“\0”这样字符串就结束了。 (自动放在Python)
还有其他方法可以做到这一点,即字符串对象有一个名为 format
的便捷方法来处理此构造:
my_integer = 2
my_string = "{0}*pi = {1}".format(my_integer, my_integer*3.14)
print(my_string)
# 2*pi = 6.28
程序员将使用一种或另一种策略获得相同的最终结果。
在Python以及其他语言中,可以使用特定方法and/or运算符组合字符串、连接、获取子字符串等。
为了保持可读性,您可能(我猜)想将每个值放在一行中。在字符串中,您可以使用特殊字符,例如 \n
for new lines.
my_list = list(range(100))
# ... useful code here and there ...
with open("output.txt", "w") as o:
o.write("My list:\n")
o.write("\tSize: {0}\n\n".format(len(my_list)))
o.write("\t----start----\n")
for i in range(len(my_list)):
o.write("%d\n" % my_list[i])
o.write("\n\t----end----\n")
# That writes:
# My list:
# Size: 100
#
# ----start----
# 0
# 1
# 2
# 3
...
# 99
#
# ----end----
请记住,这不是综合指南,而是外行指南。我跳过了很多无聊的词汇和技术细节,你最好在 Python 书籍和课程中找到它们。