Python 如何删除列表列表的浮动?
例如:Python 如何删除列表列表的浮动?,python,list,Python,List,例如: [['D', 'D', '-', '1', '.', '0'],['+', '2', '.', '0', 'D', 'D'],['D', 'D', 'D']] 这是: D D -1.0 +2.0 D D D D D 我想提取这些值,放入不同的变量,并知道信号所在的行和列(这样我可以放入对应于旧值的符号) 不要创建列表的列表。直接从文件中提取行,并在正则表达式的帮助下拆分它们: maze = [] for line in arq: maze.append(re.findall
[['D', 'D', '-', '1', '.', '0'],['+', '2', '.', '0', 'D', 'D'],['D', 'D', 'D']]
这是:
D D -1.0
+2.0 D D
D D D
我想提取这些值,放入不同的变量,并知道信号所在的行和列(这样我可以放入对应于旧值的符号)
不要创建列表的列表。直接从文件中提取行,并在正则表达式的帮助下拆分它们:
maze = []
for line in arq:
maze.append(re.findall('[-+][0-9.]+|\S', line)
我不确定这是否是您想要的,可以在您的描述中添加更多信息
import csv
csv_file = open("maze.txt")
csv_reader = csv.reader(csv_file)
maze = []
for line in csv_reader:
for char in line:
maze.append(char.split())
print(maze)
# Output
[['D', 'D', '-1.0'], ['+2.0', 'D', 'D'], ['D', 'D', 'D']]
使用。模式[-+]?\d*\.\d+\d+
用于从字符串中提取浮点值
import re
list2d = [['D', 'D', '-', '1', '.', '0'],['+', '2', '.', '0', 'D', 'D'],['D', 'D', 'D']]
lists = list()
for l in list2d:
s = ''.join(l)
matches = re.findall(r"D|[-+]?\d*\.\d+|\d+", s)
lists.append(matches)
print(lists)
# Output
[['D', 'D', '-1.0'], ['+2.0', 'D', 'D'], ['D', 'D', 'D']]
你是怎么得到你的名单的?这在我看来是错误的。对于arq中的行:maze.append([item for item in line.strip()])return mazeh你真的有没有没有没有空格的行?你能给我们看完整的代码吗?我删除了空格。我需要列表列表,因为它是迷宫的地图。你得到了一个,但格式正确,没有单个字符。谢谢!我现在知道了,这样我就可以创建已经格式化的列表列表了。“-1.0”在本例中是一个字符串,对吗?我可以浮动(项目)吗-1.0'在本例中是字符串,对吗?是的,参数mqy也应该是
+/-
。有关详细说明,请参阅。
import csv
csv_file = open("maze.txt")
csv_reader = csv.reader(csv_file)
maze = []
for line in csv_reader:
for char in line:
maze.append(char.split())
print(maze)
# Output
[['D', 'D', '-1.0'], ['+2.0', 'D', 'D'], ['D', 'D', 'D']]
import re
list2d = [['D', 'D', '-', '1', '.', '0'],['+', '2', '.', '0', 'D', 'D'],['D', 'D', 'D']]
lists = list()
for l in list2d:
s = ''.join(l)
matches = re.findall(r"D|[-+]?\d*\.\d+|\d+", s)
lists.append(matches)
print(lists)
# Output
[['D', 'D', '-1.0'], ['+2.0', 'D', 'D'], ['D', 'D', 'D']]