GVKun编程网logo

Python从字符串解析int(python int 字符串)

16

关于Python从字符串解析int和pythonint字符串的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于C++字符串解析(Python样式)、python–如何将列表或字符串解析为固定

关于Python从字符串解析intpython int 字符串的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于C ++字符串解析(Python样式)、python – 如何将列表或字符串解析为固定长度的块、Python 教程 (7)—— 一文弄懂 Python 字符串操作 (上)| 字符串查找 | 字符串分割 | 字符串拼接 | 字符串替换、Python-从字符串列表中删除空字符串等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

Python从字符串解析int(python int 字符串)

Python从字符串解析int(python int 字符串)

test1 = ''name1''test2 = ''name2''..test3 = ''name45''test4 = ''name1231231''

假设我有一堆字符串,这些字符串以“ name”开头,后跟任意长度的数字。

如何解析字符串中的数字?

regex唯一的方法还是有内置的模块可以完成此任务?

答案1

小编典典

在Python 3中,您可以执行以下操作:

import stringfor test in [''name1'', ''name2'', ''name45'', ''name1231231'', ''123test'']:    print(int(test.strip(string.ascii_letters)))

给你:

12451231231123

string.ascii_letters给您一个包含所有大写和小写字母的字符串。Python的strip()函数采用一个字符串,该字符串指定要删除的字符集,在这种情况下,所有字符都是字母字符,因此仅保留了数字。

注意:这不适用于诸如的字符串123name456

C ++字符串解析(Python样式)

C ++字符串解析(Python样式)

我喜欢在python中如何执行以下操作:

points = []
for line in open("data.txt"):
    a,b,c = map(float,line.split(','))
    points += [(a,c)]

基本上,它读取的是一行列表,其中每一个代表3D空间中的一个点,该点表示为三个数字,以逗号分隔

如何用C ++做到这一点而又不会太麻烦呢?

性能不是很重要,此解析仅发生一次,因此简单性更为重要。

PS我知道这听起来像是一个新手问题,但是相信我我已经用D语言编写了一个词法分析器(非常类似于C ),其中涉及逐个字符读取一些文本char并识别标记,
就是这样,很长一段时间后又回到了C
python时期,只是让我不想浪费时间在这些事情上。

python – 如何将列表或字符串解析为固定长度的块

python – 如何将列表或字符串解析为固定长度的块

我真的陷入了一个基本问题.我试图获取一个项目的列表,并将其分成许多项目的列表,每个项目的字符长度为10.例如,给出一个列表,其中包含一个项目,[‘111111111122222222223333333333’],输出将产生:
1111111111
2222222222
3333333333

我觉得这很简单,但我很难过.我试图创建一个这样的函数:

def parser(nub):    
    while len(nub) > 10:  
        for subnub in nub:  
            subnub = nub[::10]
            return(subnub)  
    else:  
        print('Done')

显然,这不起作用.有什么建议?使用字符串比列表更容易吗?

解决方法

有人提出了一个相关的问题:
Slicing a list into a list of sub-lists

例如,如果您的源列表是:

the_list = [1,2,3,4,5,6,7,8,9,... ]

你可以拆分它像:

split_list = [the_list[i:i+n] for i in range(0,len(the_list),n)]

假设n是您的子列表长度,结果将是:

[[1,...,n],[n+1,n+2,n+3,2n],...]

然后你可以像下面这样迭代它:

for sub_list in split_list:
    # Do something to the sub_list

字符串也是如此.

这是一个实际的例子:

>>> n = 2
>>> listo = [1,9]
>>> split_list = [listo[i:i+n] for i in range(0,len(listo),n)]
>>> split_list
[[1,2],[3,4],[5,6],[7,8],[9]]

>>> listo = '123456789'
>>> split_list = [listo[i:i+n] for i in range(0,n)]
>>> split_list
['12','34','56','78','9']

Python 教程 (7)—— 一文弄懂 Python 字符串操作 (上)| 字符串查找 | 字符串分割 | 字符串拼接 | 字符串替换

Python 教程 (7)—— 一文弄懂 Python 字符串操作 (上)| 字符串查找 | 字符串分割 | 字符串拼接 | 字符串替换

目录
  • 字符串简介
  • 字符串查找
    • 使用 in 关键字
    • 使用 find () 方法
    • 使用 index () 方法
    • 使用正则表达式
  • 字符串替换
    • 使用 replace () 方法
    • 使用正则表达式
    • 使用字符串模板
  • 字符串分割
  • 字符串拼接
    • 使用加号 (+) 运算符
    • 使用字符串的格式化方法
    • 使用 f-string(格式化字符串)
    • 使用字符串的 join () 方法

字符串简介

在计算机编程中,字符串是由字符组成的字节序列。在 Python 中,字符串是表示文本数据的数据类型,由一系列 Unicode 字符组成。字符串可以包含字母、数字、标点符号、空格以及其他特殊字符。实际工作当中,接触最多的可能就是字符串了。

字符串也是 Python 中最基本的类型,Python 中的字符串类型可以使用引号括起来。可以使用单引号、双引号或三引号来定义字符串。

str1 = ''Hello''
str2 = "World"
str3 = """Python"""

可以使用索引运算符([])来访问字符串中的单个字符。字符串的第一个字符索引为 0,最后一个字符索引为 - 1,可以使用负数进行倒序访问。例如:

str = "Hello, World!"
print(str[0])      # 输出 ''H''
print(str[-1])     # 输出 ''!''

字符串还可以通过加号(+)进行拼接,例如:

str1 = "Hello"
str2 = "World"
str3 = str1 + " " + str2
print(str3)   # 输出 ''Hello World''

Python 提供了丰富的字符串方法,用于处理字符串的操作,例如转换大小写、查找、替换等。还有格式化字符串的方法,用来替换占位符以生成特定格式的字符串。字符串类型说简单很简单,因为就单纯的字符串变化,说复杂也很复杂,结合其他相关类型,真的可以变化莫测。

字符串查找

在 Python 中,字符串查找是非常基础的功能,有几种常用的方法可以用来查找字符串中的子串或特定字符:

使用 in 关键字

使用 in 关键字。可以判断一个字符串是否包含另一个子串,这种方式简单方便,在编程当中经常会被用到。

str = "Hello, World!"
if "Hello" in str:
   print("包含 ''Hello''")
else:
   print("不包含 ''Hello''")

使用 find () 方法

使用 find() 方法。可以返回子串在字符串中第一次出现的索引值。如果找不到子串,返回 -1。

str = "Hello, World!"
index = str.find("World")
if index != -1:
   print("子串 ''World'' 的索引值为", index)
else:
   print("未找到子串 ''World''")

使用 index () 方法

index() 方法与 find() 方法类似,但是如果找不到子串,会抛出 ValueError 异常。

str = "Hello, World!"
try:
   index = str.index("World")
   print("子串 ''World'' 的索引值为", index)
except ValueError:
   print("未找到子串 ''World''")

使用正则表达式

Python 提供了 re 模块,可以使用正则表达式来进行复杂的字符串匹配与查找操作,需要说明的是正则表达式的用法千变万化,需要根据实际情况来使用。

import re

str = "Hello, World!"
pattern = r"World"
match = re.search(pattern, str)

if match:
   print("找到子串 ''World''")
   start_index = match.start()
   end_index = match.end()
   print("子串的起始索引为", start_index)
   print("子串的结束索引为", end_index)
else:
   print("未找到子串 ''World''")

上面就是一些常用的字符串查找的方法,可以根据需求选择合适的方法。需要注意的是,这些方法都是区分大小写的。如果想要进行大小写不敏感的查找,可以通过将字符串转换为统一的大小写来实现。

字符串替换

在一些编程当中,字符串替换是非常常见的操作,在 Python 中,可以使用不同的方法来替换字符串中的特定子串或字符,下面是一些常用的方法。

使用 replace () 方法

replace() 方法可以替换字符串中的所有匹配子串为新的子串。

str = "Hello, World!"
new_str = str.replace("World", "Python")
print(new_str)  # 输出 "Hello, Python!"

replace() 方法还可以指定替换的次数,只替换前几个匹配项。

str = "Hello, World!"
new_str = str.replace("l", "L", 2)
print(new_str)  # 输出 "HeLLo, World!"

使用正则表达式

可以利用 re 模块的 sub() 函数来使用正则表达式替换匹配的子串。使用正则表达式可以更灵活地进行替换操作,例如根据匹配结果动态替换内容。

import re

str = "Hello, World!"
new_str = re.sub(r"World", "Python", str)
print(new_str)  # 输出 "Hello, Python!"

使用字符串模板

使用字符串模板可以更加直观地进行替换,将需要替换的部分使用占位符表示。可以在字符串模板中定义多个占位符,并通过 format() 方法传入对应的值进行替换。

template = "Hello, {name}!"
new_str = template.format(name="Python")
print(new_str)  # 输出 "Hello, Python!"

字符串分割

字符串分割是指将一个字符串按照特定标记或规则将其拆分成多个子字符串的过程。将一个字符串分割成多个部分可以方便地处理和操作字符串的不同部分。在字符串分割过程中,需要指定一个分隔符或分割规则来确定拆分的位置。分隔符可以是一个字符,也可以是一个字符串。

假设有一个字符串 "Hello,World!",想将其分割为两部分,可以使用逗号作为分隔符,分割 "Hello" 和 "World!" 两个子字符串。

在 Python 中,你可以使用字符串的 split() 方法来分割字符串。这个方法会根据指定的分隔符将字符串分割成多个子字符串,并返回一个包含这些子字符串的列表。在 split() 方法中,你可以传入一个分隔符作为参数,如果不指定分隔符,默认以空格作为分隔符。

# 分割以空为分隔符的字符串
str1 = "Hello World"
split = str1.split()
print(split_result)  # Output: [''Hello'', ''World'']

 分割以逗号为分隔符的字符串
str = "Apple, Banana, Orange"
split_result = str2.split(", ")
print(split_result)  # Output: [''Apple'', ''Banana'', ''Orange'']

# 分割以换行符为分隔符的字符串
str3 = "Line 1\nLine 2\nLine 3"
split_result = str3.split("\n")
print(split_result)  # Output: [''Line 1'', ''Line 2'', ''Line 3'']

字符串拼接

字符串拼接看起来好像很简单,但是如果需要按照某种规则来拼接的话,可能也是需要一些方法的。在 Python 中,你可以使用多种方式进行字符串的拼接。

使用加号 (+) 运算符

使用加号 (+) 运算符,这是最简单的字符串拼接方法,直接通过 (+) 运算符将两个字符串拼接起来。

str1 = "Hello"
str2 = "World!"
result = str1 + "," + str2
print(result)  # 输出: Hello,World!

使用字符串的格式化方法

字符串的格式化方法通过占位符 {} 插入变量或表达式的值,并使用 format() 方法传递要换的内容。format() 方法可以接受多个参数,按照传入的顺序替换占位符。

str1 = "Hello"
str2 = "World!"
result = "{},{}".format(str1, str2)
print(result)  # 输出: Hello,World!

使用 f-string(格式化字符串)

f-string 是 python 新引入的一种字符串格式化的简便方法,它在字符串前加上 f 前缀。在 f-string 中,可以直接在花括号 {} 中引用变量、表达式或函数调用,并将其值插入到字符串中。

str1 = "Hello"
str2 = "World!"
result = f"{str1},{str2}"
print(result)  # 输出: Hello,World!

使用字符串的 join () 方法

join () 方法可以将一个可迭代对象中的元素连接成一个新的字符串。它的工作原理是在指定的分隔符上使用调用该方法的字符串作为粘合剂,将可迭代对象中的每个元素连接起来。在示例中," ".join([str1, str2]) 使用空格作为分隔符将列表 [str1, str2] 中的元素连接起来。

str1 = "Hello"
str2 = "World!"
result = ",".join([str1, str2])
print(result)  # 输出: Hello,World!

需要注意的是,使用加号 (+) 和 join 进行字符串拼接时,需要保证所有操作数都是字符串类型。如果有其他类型的对象,需要先将其转换为字符串再进行拼接。而使用字符串的格式化方法和 f-string 则可以直接将其他类型的对象插入到字符串中。

更多精彩内容,请关注同名公众:一点 sir(alittle-sir)

Python-从字符串列表中删除空字符串

Python-从字符串列表中删除空字符串

我想从python中的字符串列表中删除所有空字符串。

我的想法如下:

while '''' in str_list:    str_list.remove('''')

有没有更多的Python方式可以做到这一点?

答案1

小编典典

我会用filter

str_list = filter(None, str_list)str_list = filter(bool, str_list)str_list = filter(len, str_list)str_list = filter(lambda item: item, str_list)

Python 3从返回一个迭代器filter,因此应包装在对的调用中list()

str_list = list(filter(None, str_list))

今天关于Python从字符串解析intpython int 字符串的分享就到这里,希望大家有所收获,若想了解更多关于C ++字符串解析(Python样式)、python – 如何将列表或字符串解析为固定长度的块、Python 教程 (7)—— 一文弄懂 Python 字符串操作 (上)| 字符串查找 | 字符串分割 | 字符串拼接 | 字符串替换、Python-从字符串列表中删除空字符串等相关知识,可以在本站进行查询。

本文标签: