【发布时间】:2019-03-18 23:18:28
【问题描述】:
好的,这就是我想要做的。我有一个包含以下元素的列表 A。我想修改这个列表 A ,使 A 中的每个元素都以它的字符数开头。例如,a1 变为 02a1,aa1 变为 03aa1,以此类推。
A = "a1,b1,c1,a2,b2,c2,aa1,ab1,ac1"
A = A.split(',')
A.append('bb1')
print(A)
for evry_element in A:
q = [len(evry_element)]
for ev_el in evry_element:
q.append(ord(ev_el))
print(q)
这段代码对我有用,但我得到的结果是这样的:
['a1', 'b1', 'c1', 'a2', 'b2', 'c2', 'aa1', 'ab1', 'ac1', 'bb1']
[2, 97]
[2, 97, 49]
[2, 98]
[2, 98, 49]
[2, 99]
[2, 99, 49]
[2, 97]
[2, 97, 50]
[2, 98]
[2, 98, 50]
[2, 99]
[2, 99, 50]
[3, 97]
[3, 97, 97]
[3, 97, 97, 49]
[3, 97]
[3, 97, 98]
[3, 97, 98, 49]
[3, 97]
[3, 97, 99]
[3, 97, 99, 49]
[3, 98]
[3, 98, 98]
[3, 97, 99, 49]
但我希望结果是这样的单个字符串:
A_new = [2, 97, 49,2, 98, 49,2, 99, 49,2, 97, 50,2, 98, 50,2, 99, 50,3, 97, 97, 49,3, 97, 98, 49,3, 97, 99, 49,3, 97, 99, 49]
我该怎么办? 我希望尽我所能解释我想要做什么。
【问题讨论】:
-
你好!请查看帮助中心中的minimal reproducible example 定义——一个涉及代码的好问题向我们展示了一个示例,我们可以运行该示例来查看您的 exact 问题,没有不相关的错误(因此您应该使用真正的 Python语法,而不是伪代码)。
-
如果字符串长度超过 99 个字符,您希望做什么?
-
很难说出你想要的输出是什么。那是……一个列表,里面有一个很长的字符串吗?
-
另外,这些字符串中是否有可能包含非 ascii 字符?如果是这样,您应该将字符串编码为字节之前得到它们的长度。
-
@Aran-Fey 是的,这正是我想要的。我想用一个很长的字符串创建一个列表,然后将其转换为字节数组。
标签: python arrays list split append