我是新来的,如果有什么不寻常的地方请原谅我 我知道删除一些空格很简单 但实际上我没有使用字符串,而是浮动元素列表 所以我正在使用append将数字放在列表中,但它们是这样传递的:
GlobalKey<_HomePageState> globalKey = GlobalKey();
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
leading: IconButton(
icon: Icon(Icons.help),
onPressed: () {
globalKey.currentState.methodA();
},
),
),
body: HomePage(key: globalKey),
),
);
}
}
class HomePage extends StatefulWidget {
HomePage({Key key}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
return Container();
}
void methodA() {}
}
我希望他们像这样:
[1.2, 3.5, 41.2, 2.9]
任何帮助将不胜感激
答案 0 :(得分:2)
列表中没有实际的空格。 __str__
函数的编码方式就是这样(它的打印方式)。如果要打印出没有空格的最佳方法,最好先将其转换为字符串:
>>> test = [2, 32, 123, 1]
>>> test
[2, 32, 123, 1]
>>> print(str(test).replace(" ",""))
[2,32,123,1]
答案 1 :(得分:1)
这两个列表表示形式都相等,而不管逗号后添加的空格如何。多余的空格使其更易于阅读。
要真正测试它们是否相等,可以使用==
比较:
>>> l1 = [1.2, 3.5, 41.2, 2.9]
>>> l2 = [1.2,3.5,41.2,2.9]
>>> l1 == l2
True
如果要使用不带空格的字符串表示形式,则可以使用str.join()
:
>>> l1 = [1.2, 3.5, 41.2, 2.9]
>>> '[%s]' % ','.join(map(str, l1))
'[1.2,3.5,41.2,2.9]'
答案 2 :(得分:0)
这是Python __str__
的默认行为,但是请注意,它的Python可以覆盖默认行为。我不建议您更改默认代码__str__
,而是编写自己的list
类,以满足您的要求
class my_list(list):
x=[]
def __init__(self, argument):
self.x=list(argument)
def __str__(self):
return '['+','.join(map(str,self.x))+']'
用于测试
print(my_list([1.2, 3.5, 41.2, 2.9])) #[1.2,3.5,41.2,2.9,5,6]