如何从Python中删除字符串中的引号

时间:2015-06-01 02:53:48

标签: python

目前我有一个字符串列表,让我们说:

list1 = [1,2,3,4]

我想将这个数字列表转换为相应的字母,使用:

output = [chr(ord((str(x+96)))) for x in list1]

当我这样做时,我得到一个错误,说程序期望字符串长度为1,但在我的代码中,它的字符串长度为3,因为每个数字转换为a后,''周围都有output = [a,b,c,d] 串。转换为字符串是必要的,因为它必须是字符串格式才能使ord工作。

所以我的问题是你们如何解决这个问题和/或摆脱这些引用?

如果有人想知道,它应该是

So if there are 5 individuals the total individual comparisons would be
0,1,2, 0,1,3, 0,1,4, 1,2,3, 1,2,4 and 2,3,4

5 个答案:

答案 0 :(得分:2)

你有一个整数,加上96,结果应该是:

output = [chr(x+96) for x in list1]

您可以完全放弃ordstr

list1 = [1,2,3,4]

output = [chr(x+96) for x in list1]

print output #Prints: ['a', 'b', 'c', 'd']

答案 1 :(得分:2)

您的答案如下:

 output = [chr((x+96)) for x in list1]

ord接受一个字符并返回该字符的整数序号。在你的代码中,你正在做:

ord((str(x+96)))

就像,

ord((str(1+96)))
ord('97')

所以你得到了错误。 ord的参数将是一个字符串。像:

>>> ord('a')
>>> 97

但要获得预期的输出,您不需要使用ord

答案 2 :(得分:1)

打印列表会打印其元素的字符串表示形式,其中包括列表中字符串元素周围的单引号。而只是自己格式化字符串:

>>> '[{}]'.format(','.join([chr((x+96)) for x in list1]))
'[a,b,c,d]'

或以印刷形式:

>>> print '[{}]'.format(','.join([chr((x+96)) for x in list1]))
[a,b,c,d]

format方法允许您格式化字符串。在这种情况下,花括号用作占位符,以包含在最终字符串中的值。方括号是格式的一部分,用于提供类似于数组的实际输出。 join方法接受一组对象并将它们连接在一起以形成单个组合字符串。在这种情况下,我使用文字逗号连接了几个对象。这会产生逗号分隔的字符串输出。内部列表理解本质上是您已经提供的代码。

答案 3 :(得分:0)

你能不能以理智的方式做到这一点

string = " abcdefghijklmnopqrstuvwxyz"
newlist = []
for num in nums:
    newlist.append(string[num])

答案 4 :(得分:0)

假设您只想要打印字符串:

>>> list1 = [1, 2, 3, 4]
>>> pretty_string = ""
>>> # strings are immutable so need to
>>> # create new and assign to old variable name.
>>> for i in list1:
>>>     pretty_string = pretty_string + str(i) + ", "
>>> pretty_string = pretty_string[:-2] # remove trailing comma and space
>>> print(pretty_string)
1, 2, 3, 4

str(i)方法将i转换为字符串

或者,打印您逐字询问的内容:

>>> print("output = [" + pretty_string + "]")
output = [1, 2, 3, 4]

但是,如果你想要一个整数列表元素的字符表示列表,那么:

>>> list1 = [1, 2, 3, 4] # integer values
>>> character_reps = []
>>> for i in list1:
>>>     character_reps.append(str(i))
>>> for i in character_reps:
>>>     print(i) # no need to convert as members already string types
1
2
3
4