[英]Python: Merge Multiline Output into Singular List
我創建了一個隨機生成器來創建一個包含一定數量字符串的列表。 每個字符串都是大寫字母和數字的混合。 然后我得到了每個字符串中的字符數。 但是,輸出是作為它自己的單獨行出來的。 我需要這些輸出行來生成一個新列表。
Current Output:
5
1
2
Desired Output: (5,1,2)
我對python很陌生,請幫忙。 以下是我到目前為止的代碼:
import random
import string
chars = string.ascii_uppercase + string.digits
from random import randrange
A = [''.join(random.choices(string.ascii_uppercase + string.digits, k=randrange(1,10))) for j in range(5)]
print(A)
def bubbleSort(A):
for passnum in range(len(A)-1,0,-1):
for i in range(passnum):
if A[i]>A[i+1]:
temp = A[i]
A[i] = A[i+1]
A[i+1] = temp
bubbleSort(A)
print(A)
#Output line 1: Original List
#Output line 2: Sorted List
for item in A:
len(item)
A2 = len(item)
print(A2)
在最終循環中使用print(A2, end=', ')
在同一行上打印項目。
您可以使用列表理解而不是最后一個for
循環:
print([len(item) for item in A])
使用此列表理解代替循環可能輸出您發布的代碼:
['XXF8XQA2V', 'ACQ1A782', 'E', '6G1LC45', 'C']
['6G1LC45', 'ACQ1A782', 'C', 'E', 'XXF8XQA2V']
[7, 8, 1, 1, 9]
為了匹配您想要的輸出,您需要打印項目len
的tuple
,因此您可以執行以下操作而不是最終循環:
print(tuple(len(a) for a in A))
前任:
>>> A = ['abc', 'asfgv', 'a']
>>> print(tuple(len(a) for a in A))
(3, 5, 1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.