Apa*_*che 19 python arrays struct
我想为我在文本文件中找到的每一行都有一个结构.(所以是的,基本上我想定义我的结构,然后计算行数,并填充我的结构.)
在C++中,C#很好.但我总是迷失在Python中.
我的结构看起来像:
struct[0].name = "foo"
struct[0].place = "Shop"
struct[1].name = "bar"
struct[1].place = "Home"
Run Code Online (Sandbox Code Playgroud)
等等.
(抱歉这个蹩脚的问题,希望其他新手(比如我)会发现它很有用.)
当然,随意编辑问题(标题)以反映真实情况.
Mat*_*all 15
你想创建一个类包含name和place领域.
class Baz():
"Stores name and place pairs"
def __init__(self, name, place):
self.name = name
self.place = place
Run Code Online (Sandbox Code Playgroud)
然后,您将使用该类的实例列表.
my_foos = []
my_foos.append(Baz("foo", "Shop"))
my_foos.append(Baz("bar", "Home"))
Run Code Online (Sandbox Code Playgroud)
另请参阅:类(来自Python教程).
一个dicts列表怎么样?
mydictlist = [{"name":"foo", "place":"Shop"},
{"name":"bar", "place":"Home"}]
Run Code Online (Sandbox Code Playgroud)
那你可以做
>>> mydictlist[0]["name"]
'foo'
>>> mydictlist[1]["place"]
'Home'
Run Code Online (Sandbox Code Playgroud)
等等...
使用您的示例文件:
mydictlist = []
with open("test.txt") as f:
for line in f:
entries = line.strip().split(" ", 5) # split along spaces max. 5 times
mydictlist.append({"name": entries[0],
"time1": entries[1],
"time2": entries[2],
"etc": entries[5]})
Run Code Online (Sandbox Code Playgroud)
给你:
[{'etc': 'Vizfoldrajz EA eloadas 1', 'name': 'Hetfo', 'time2': '10:00', 'time1': '8:00'},
{'etc': 'Termeszetfoldrajzi szintezis EA eloadas 1', 'name': 'Hetfo', 'time2': '14:00', 'time1': '12:00'},
{'etc': 'Scriptnyelvek eloadas 1', 'name': 'Hetfo', 'time2': '16:00', 'time1': '14:00'}
...]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46733 次 |
| 最近记录: |