[英]How to remove the last comma in a list of integers?
該列表應該得到每個數字的平方。 我已經設法做到了,但我需要刪除序列中的最后一個逗號。
當我使用此代碼時:
def multiplicator():
for a in range(3, 20):
b = (a*a)
print(b, end=",")
multiplicator()
我得到:
9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,
您可以使用str.join
在字符串之間添加一個分隔符,該分隔符不會在末尾添加額外的分隔符。
>>> ','.join(str(a*a) for a in range(3, 20))
'9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361'
def multiplicator():
print_list = list()
for a in range(3, 20):
b = (a*a)
print_list.append(b)
print_list.append(',')
for i in print_list[:-1] :
print(i, end='')
multiplicator()
輸出 : 9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361
您可以保持循環並添加條件:
def multiplicator():
for a in range(3, 20):
b = (a*a)
print(b, end="")
if a<19: # if not the last element
print(end=",") # print ","
print() # print new line after everything
multiplicator() # => 9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361
您還可以使用三元條件來縮短代碼:
def multiplicator():
for a in range(3, 20):
b = (a*a)
print(b, end="," if a<19 else "")
print() # print new line after everything
multiplicator() # => 9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361
一個簡單的選擇是:
def multiplicator():
for a in range(3, 19):
print(a*a, end=',') # directly a*a, no need for an intermediate variable
print(19*19)
一個通用的解決方案是:
def multiplicator(n):
for a in range(3, n-1):
print(a*a, end=',')
print((n-1)*(n-1))
輸出:
>>> multiplicator(20)
9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361
筆記:
這是一種與您正在嘗試做的事情的簡單且類似的方法,但您絕對應該使用str.join()尋求@CoryKramer 的答案
def funcPattern(n):
# Base case (When n becomes 0 or negative)
if (n == 0 or n < 0):
print(n, end=", ")
return
print(n, end=", ")
# First print decreasing order
funcPattern(n - k)
if (n == m):
print(n, end=" ")
elif (n != m):
print(n, end=", ")
n = 10 m = nk = 2 funcPattern(n)
一種單行方式:
a = range(3, 20)
print(*[i**2 for i in a], sep=',')
列表是使用列表推導創建的,然后打印解壓后的列表(使用 * 運算符); ',' 是分隔符。
輸出將是:
9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.