相关疑难解决方法(0)

将列表中的项连接到字符串

有没有更简单的方法将列表中的字符串项连接成一个字符串?

我可以使用该str.join()功能加入列表中的项目吗?

例如,这是输入['this','is','a','sentence'],这是所需的输出this-is-a-sentence

sentence = ['this','is','a','sentence']
sent_str = ""
for i in sentence:
    sent_str += str(i) + "-"
sent_str = sent_str[:-1]
print sent_str
Run Code Online (Sandbox Code Playgroud)

python string join list concatenation

478
推荐指数
7
解决办法
99万
查看次数

在Python中没有[]的列表理解

加入清单:

>>> ''.join([ str(_) for _ in xrange(10) ])
'0123456789'
Run Code Online (Sandbox Code Playgroud)

join 必须采取迭代.

显然,join这个论点是[ str(_) for _ in xrange(10) ],这是一个列表理解.

看这个:

>>>''.join( str(_) for _ in xrange(10) )
'0123456789'
Run Code Online (Sandbox Code Playgroud)

现在,join这个论点只是str(_) for _ in xrange(10),不[],但结果是一样的.

为什么?是否str(_) for _ in xrange(10)也会产生一个列表或一个可迭代?

python list-comprehension

76
推荐指数
4
解决办法
1万
查看次数

Python,打印分隔列表

请考虑使用此Python代码打印逗号分隔值列表

for element in list:
    print element + ",",
Run Code Online (Sandbox Code Playgroud)

打印的首选方法是什么,如果element是列表中的最后一个元素,则不会出现逗号.

a = [1, 2, 3]
for element in a
  print str(element) +",",

output
1,2,3,
desired
1,2,3
Run Code Online (Sandbox Code Playgroud)

python printing string

37
推荐指数
3
解决办法
6万
查看次数

如何在python中将long列表转换为逗号分隔的字符串

我是python的新手,并且有一个long列表,我想将它们连接成一个逗号分隔的字符串.

在PHP中,我会做这样的事情:

$output = implode(",", $array)
Run Code Online (Sandbox Code Playgroud)

在Python中,我不知道如何做到这一点.我尝试过使用join,但这不起作用,因为元素是错误的类型(即不是字符串).我是否需要创建列表的副本并将副本中的每个元素从long转换为字符串?或者有更简单的方法吗?

python

19
推荐指数
4
解决办法
2万
查看次数

从列表创建逗号分隔的字符串

我有一个int列表,想要创建一个逗号分隔的字符串.下列:

x = [3, 1, 4, 1, 5]
y = ",".join(x)
Run Code Online (Sandbox Code Playgroud)

给出错误:

TypeError: sequence item 0: expected string, int found
Run Code Online (Sandbox Code Playgroud)

如何创建字符串?我可以手动将每个元素从int转换为字符串,将其插入到新列表中,然后在这个新列表上进行连接,但我想知道是否有更清晰的解决方案.

python string join list

6
推荐指数
1
解决办法
2万
查看次数

将列表的Python列表转换为字符串

如何最好地将Python中的列表列表转换为(例如)逗号分隔值,换行分隔行,字符串?理想情况下,我可以执行以下操作:

>import csv

>matrix = [["Frodo","Baggins","Hole-in-the-Ground, Shire"],["Sauron", "I forget", "Mordor"]]
> csv_string = csv.generate_string(matrix)
>print(csv_string)
Frodo,Baggins,"Hole-in-the-Ground, Shire"
Sauron,I forget,Mordor
Run Code Online (Sandbox Code Playgroud)

我知道Python有一个CSV模块,如在做题像这样,但是它的所有功能似乎一个文件对象进行操作。列表足够小,以至于使用文件是多余的。

我熟悉的加入功能,并有大量的SO答案。但这不会处理包含逗号的值,也不会处理多行,除非我将a嵌套join在另一个行中join

python csv stringio python-2.7

1
推荐指数
1
解决办法
1557
查看次数

在python3中格式化正则表达式输出

如何格式化正则表达式的输出或以特定格式返回正则表达式输出。

例如:我有一个程序test_program:5.4.3.2.11111

我只想获得这个值:5.4.3.2.11111

如果我使用这个功能:

import re

get_number = "test_program:5.4.3.2.11111"
number = re.findall('\d+', get_number)
Run Code Online (Sandbox Code Playgroud)

输出是:

['5', '4', '3', '2', '11111']
Run Code Online (Sandbox Code Playgroud)

但由于格式不正确,我无法将其传递给另一个变量。

我用过这样的东西:

['5', '4', '3', '2', '11111']
Run Code Online (Sandbox Code Playgroud)

并且输出格式正确,但是如果任何数字更改,例如5将更改为1011111将更改为1111112,这将无法正常工作。

有没有更好的解决方案可以以正确的格式从字符串中获取数字,并且不会发生变化?

python python-3.x

-4
推荐指数
1
解决办法
72
查看次数