【问题标题】:Split and append liste in python在python中拆分和附加列表
【发布时间】: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


【解决方案1】:

我认为这是您想要实现的目标:

A = "a1,b1,c1,a2,b2,c2,aa1,ab1,ac1" 
A = A.split(',')
A.append('bb1')
print(A)
q = []
for evry_element in A:
   q.append('0' + str(len(evry_element)) + evry_element)
print(q)

虽然我不确定你为什么决定附加bb1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2013-02-25
    • 1970-01-01
    • 2017-08-29
    • 2017-09-18
    相关资源
    最近更新 更多