[英]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.