最近很多小伙伴都在问Python-打印列表用逗号分隔和python输出逗号分隔这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展mysql判断表里面一个逗号分隔的字符串是否包含单个字
最近很多小伙伴都在问Python-打印列表用逗号分隔和python输出逗号分隔这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔、Python Pyparsing:在括号内捕获以逗号分隔的列表,忽略内部括号、python – 使用逗号分隔值从另一个列表生成列表、python – 如何使用逗号分隔变量?等相关知识,下面开始了哦!
本文目录一览:- Python-打印列表用逗号分隔(python输出逗号分隔)
- mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔
- Python Pyparsing:在括号内捕获以逗号分隔的列表,忽略内部括号
- python – 使用逗号分隔值从另一个列表生成列表
- python – 如何使用逗号分隔变量?
Python-打印列表用逗号分隔(python输出逗号分隔)
我正在编写一段代码,该代码应该输出用逗号分隔的项目列表。该列表是通过for循环生成的。我用
for x in range(5):
print(x,end=",")
问题是我不知道如何摆脱列表中最后一个条目添加的最后一个逗号。它输出以下内容:
0,1,2,3,4,
如何删除结尾的’,’?
mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔
1.mysql判断表里面一个逗号分隔的字符串是否包含单个字符串 :
FIND_IN_SET
select * from tablename where FIND_IN_SET(传的参数,匹配字段)
例如:
select * from testtb where FIND_IN_SET(''77'',age)
2.查询结果用逗号分隔 :
GROUP_CONCAT
select GROUP_CONCAT(分隔字段,分隔符) from tablename
例如:
select GROUP_CONCAT(name,'','') from testtb
Python Pyparsing:在括号内捕获以逗号分隔的列表,忽略内部括号
"(test.function,arr(3,12),"combine,into one")"
进入以下列表,
[''test.function'',''arr(3,12)'',''"combine,into one"'']
注意:原始字符串中的“列表”项不一定用逗号和空格分隔,它也可以是一个接一个地用逗号直接分割的两个项,例如: test.function,ARR(3,12).
基本上,我想:
>解析括号中包含的输入字符串,但不包括内括号. (因此,nestedExpr()不能按原样使用)
>里面的项目用逗号分隔,但项目本身可能包含逗号.
而且,我只能使用scanString()而不能使用parseString().
我在SO中进行了一些搜索并找到了this和this,但我无法翻译它们以适应我的问题.
谢谢!
解决方法
sample = """(test.function,into one")""" from pyparsing import (Suppress,removeQuotes,quotedString,originalTextFor,OneOrMore,Word,printables,nestedExpr,delimitedList) # punctuation and basic elements LPAR,RPAR = map(Suppress,"()") quotedString.addParseAction(removeQuotes) # what are the possible values inside the ()''s? # - quoted string - anything is allowed inside quotes,match these first # - any printable,not containing '','',''('',or '')'',with optional nested ()''s # (use originalTextFor helper to extract the original text from the input # string) value = (quotedString | originalTextFor(OneOrMore(Word(printables,excludeChars="(),") | nestedExpr()))) # define an overall expression,with surrounding ()''s expr = LPAR + delimitedList(value) + RPAR # test against the sample print(expr.parseString(sample).asList())
打印:
[''test.function'',''combine,into one'']
python – 使用逗号分隔值从另一个列表生成列表
mylist = ['7','8,9','10','11,12']
我想要一个列表:
['7','8','9','11','12']
我能得到的最近的是使用此代码:
mylist = ['7',12'] ab = [] for e in mylist: if ',' in e: ab.append(e.split(',')) mylist2 = [x for x in mylist if ',' not in x] print mylist2 #clean list merged = [] for f in ab: merged = mylist2 + f
但是,这省略了’8′,’9’序列,我怎样才能轻松实现这一目标?
解决方法
merged = [] for f in ab: merged = mylist2 + f
对于ab中的每个f,您会忘记合并中的任何内容并将其替换为mylist f.所以,最后,只有最后一个f最终合并.
你可能想要这样的东西:
for f in ab: mylist2 = mylist2 + f merged = mylist2
这样我们就可以将每个f添加到列表中并将结果存储在同一个地方.
但是,有一种更简单的方法可以解决这个问题.而不是用逗号删除它们然后再添加它们,只需处理所有内容:
mylist = ['7',12'] merged = [] for element in mylist: elements = element.split(',') merged += elements
这可以保留所有内容,并保持原始顺序,并且更简单. (注意’7′.split(‘,’)非常精细 – 它返回一个单元素列表[‘7’],您可以像[‘8’,’9’一样添加到累积列表中].)
您可以通过首先使用理解来拆分每个元素,然后合并和展平结果来使这更简洁.有几种方法可以写这个,但这里有几个:
merged = [subelement for element in mylist for subelement in element.split(',')] from itertools import chain merged = list(chain.from_iterable(element.split(',') for element in mylist))
python – 如何使用逗号分隔变量?
但我不清楚如何将这些值用作单独的值.
目前(据我所知)我需要像下面的代码一样对它们进行硬编码:
if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ): etc
现在我想要测试添加到它,再次我需要像这样硬编码:
if (not Path.find("val1") > -1 ) and (not Path.find("val2") > -1 ) and (not Path.find("test") > -1 ):
这样做有没有更好的方法?
解决方法
if all(Path.find(v) <= -1 for v in ignore):
这有利于在第一个条件为假时立即停止.就像您的硬编码示例一样.
关于Python-打印列表用逗号分隔和python输出逗号分隔的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于mysql判断表里面一个逗号分隔的字符串是否包含单个字符串、查询结果用逗号分隔、Python Pyparsing:在括号内捕获以逗号分隔的列表,忽略内部括号、python – 使用逗号分隔值从另一个列表生成列表、python – 如何使用逗号分隔变量?的相关知识,请在本站寻找。
本文标签: