python 文本字符串接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 文本字符串接相关的知识,希望对你有一定的参考价值。

python字典实现(下图只是效果,不关excel什么事)ss=def a(name,value):if name in ss:ss[name]+=valueelse:ss[name]=valuereturn ss[name]运行报错

python中有很多字符串连接方式,今天在写代码,顺便总结一下:
最原始的字符串连接方式:str1 + str2
python 新字符串连接语法:str1, str2
奇怪的字符串方式:str1 str2
% 连接字符串:‘name:%s; sex: ' % ('tom', 'male')
字符串列表连接:str.join(some_list)
第一种,想必只要是有编程经验的人,估计都知道,直接用 “+” 来连接两个字符串:
'Jim' + 'Green' = 'JimGreen'
第二种比较特殊,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接,但是,字符串之间会多出一个空格:
'Jim', 'Green' = 'Jim Green'
第三种也是 python 独有的,只要把两个字符串放在一起,中间有空白或者没有空白:两个字符串自动连接为一个字符串:
'Jim''Green' = 'JimGreen'
'Jim' 'Green' = 'JimGreen'
第四种功能比较强大,借鉴了C语言中 printf 函数的功能,如果你有C语言基础,看下文档就知道了。这种方式用符号“%”连接一个字符串和一组变量,字符串中的特殊标记会被自动用右边变量组中的变量替换:
'%s, %s' % ('Jim', 'Green') = 'Jim, Green'
第五种就属于技巧了,利用字符串的函数 join 。这个函数接受一个列表,然后用字符串依次连接列表中每一个元素:
var_list = ['tom', 'david', 'john']
a = '###'
a.join(var_list) = 'tom###david###john'
其实,python 中还有一种字符串连接方式,不过用的不多,就是字符串乘法,如:
a = 'abc'
a * 3 = 'abcabcabc'
参考技术A

按照你的要求编写的Python程序如下

def a(l):
 l1=[]
 ss=
 for item in l:
  for k,v in item.items():
   if k in ss.keys():
    ss[k]=ss[k]+","+v
   else:
    if ss:
     l1.append(ss)
     ss=
     ss[k]=v
    else:
     ss[k]=v
 l1.append(ss)
 return l1
l=["a":"s","a":"s2","a":"s3","a":"s4","c":"g","c":"g2","f":"k","f":"k2","f":"k4"]
print(a(l))

源代码(注意源代码的缩进)

追问

其实这个代码是这样的,每次只读取一行,有两个参数(你的只有一个l),第一次时候读到“a”,字典中没有a,于是增加a键,值为s(第二个参数),第二次时,还是a,因为已经有a,值为第一次的值加第二次的值:s,s2,并不是一下子就有l=["a":"s","a":"s2","a":"s3",,,

追答

按照你的要求改写的Python程序如下,不知道是不是你想要的.

def a(name,value,ss):
 if name in ss:
  ss[name]=ss[name]+","+value
 else:
  ss[name]=value
 return ss
dss=
f = open("data.txt","r")
line = f.readline()
line = line[:-1]
item = line.split(' ')
dss = a(item[0],item[1],dss)
while line:
 line = f.readline()
 line = line[:-1]
 item = line.split(' ')
 dss = a(item[0],item[1],dss)
f.close()
with open("data1.txt","w") as f1:
 for k,v in dss.items():
  item=k+' '+v+'\\n'
  f1.write(item)
f1.close()

源代码(注意源代码的缩进)

运行结果

源文件data.txt内容

输出文件data1.txt内容

本回答被提问者采纳
参考技术B python中变量和字符串的连接
字符串中加含变量,一定要内外包围相同。
如下输出:
table='abc'
str1='select * from '+table+''
str2="select * from "+table+""
str3='select * from "'+table+'"'
str4="select * from '"+table+"'"
print 'str1 is :',str1
print 'str2 is :',str2
print 'str3 is :',str3
print 'str4 is :',str4
输出结果:
[python] view plain copy
str1 is : select * from abc
str2 is : select * from abc
str3 is : select * from "abc"
str4 is : select * from 'abc'追问

垃圾

参考技术C 我刚看完基础语法,你可以遍历拼接, 将name-value 遍历, 创建一个新字典,判断key是否有遍历到的name,比如,第一次遍历到a--s,判断新字段是否有a这个字段,没有添加进去,有的话取出value拼接s到后边,然后再放到新字段里。追问

垃圾

参考技术D 这个目的不太明确,是不是
a=["name":'S',"name":'S2',"name":'S3']

要拼成 b["name":'S,S2,S3']追问

大概是这样吧

python文本 去掉字符串前后空格

python文本 去掉字符串前后空格

场景:

去掉字符串前后空格

可以使用striplstriprstrip方法

  >>> a="abc".center (30
 
>>>

 
‘             abc              ‘
 
 
>>>
b=a.lstrip () 
 
>>>

 
‘abc              ‘
 
 
>>>
c=a.rstrip () 
 
>>>

 
‘             abc‘
 
 
>>>
d=a.strip () 
 
>>>

 
‘abc‘
 
 
>>>  

这三个方法默认是去掉空格,也可以通过参数去掉其他字符,等价与replace

  >>> a="abc" 
 
>>> b=a.strip (‘a‘

 
>>>

 
‘bc‘
 
 
>>> c=a.replace (‘a‘,‘‘

 
>>>

 
‘bc‘
 
 
>>>  




















以上是关于python 文本字符串接的主要内容,如果未能解决你的问题,请参考以下文章

在 textview 上链接,文本中的域不起作用,链接不可点击

python编程data的定义

python中黏包现象

C++ 从文本文件中逐字读取单词或逐字符读取单词

接上篇--.NET高级技术之正则表达式

Linux高级文本处理命令