从列表创建嵌套列表
Creating a nested list from a list
我有一个包含 Twitter 用户和关注者列表的文本文件。它在第一个元素和关注者中有 Twitter 用户,看起来像下面这样:
(user, follwer1,follower2,follower3,....)
我打算使用 networkx 对此进行一些分析,但在此之前我需要将数据重新格式化为具有 2 列的 csv,其中第 1 列是用户(因此这将是重复的用户 ID在每一行)和列 b 将是跟随者(见下文):
| User | Follower |
| -----|--------- |
| user | Folower1 |
| user | Folower2 |
最初所有数据都存储为字符串,因此我将其转换为列表。我想做的是将其转换为嵌套列表,看起来像:
[[user,follower],[user,follower2],[user,follower3]....]
然后转换为datframe,然后将其写入csv文件。我在创建嵌套循环时遇到了问题,我似乎无法正确地将原始列表的第一个元素添加到新的嵌套列表中。这是我到目前为止尝试过的
lines = [] #original list
matrix = [] #nested list
matrix.append([]) #append blank list
for line in lines: #loop through lines in text file
line = list(line.split(',')) #split line by commas to create a list
line1 = line[0] #create variable that contains user id i.e. first element of list
for i in range(len(line)): #loop through list
matrix[i]= line(i)
matrix[i].append(line1)
提前致谢
这会有帮助吗?
lists=["user","follower1","follower2","follower3"]
matrix=[]
for x in lists:
if(lists[0]!=x):
matrix.append([lists[0],x])
print(matrix)
你可以这样做:
user_data = ["user1,follower1,follower2", "user2,follower3,follower4"]
matrix = []
for entry in user_data:
all_users = entry.split(',')
user = all_users[0]
followers = all_users[1:]
for follower in followers:
matrix.append([user, follower])
在这种情况下矩阵将包含:
[
["user1", "follower1"],
["user1", "follower2"],
["user2", "follower3"],
["user2", "follower4"]
]
如果您还有任何问题,请告诉我。
我有一个包含 Twitter 用户和关注者列表的文本文件。它在第一个元素和关注者中有 Twitter 用户,看起来像下面这样:
(user, follwer1,follower2,follower3,....)
我打算使用 networkx 对此进行一些分析,但在此之前我需要将数据重新格式化为具有 2 列的 csv,其中第 1 列是用户(因此这将是重复的用户 ID在每一行)和列 b 将是跟随者(见下文):
| User | Follower |
| -----|--------- |
| user | Folower1 |
| user | Folower2 |
最初所有数据都存储为字符串,因此我将其转换为列表。我想做的是将其转换为嵌套列表,看起来像:
[[user,follower],[user,follower2],[user,follower3]....]
然后转换为datframe,然后将其写入csv文件。我在创建嵌套循环时遇到了问题,我似乎无法正确地将原始列表的第一个元素添加到新的嵌套列表中。这是我到目前为止尝试过的
lines = [] #original list
matrix = [] #nested list
matrix.append([]) #append blank list
for line in lines: #loop through lines in text file
line = list(line.split(',')) #split line by commas to create a list
line1 = line[0] #create variable that contains user id i.e. first element of list
for i in range(len(line)): #loop through list
matrix[i]= line(i)
matrix[i].append(line1)
提前致谢
这会有帮助吗?
lists=["user","follower1","follower2","follower3"]
matrix=[]
for x in lists:
if(lists[0]!=x):
matrix.append([lists[0],x])
print(matrix)
你可以这样做:
user_data = ["user1,follower1,follower2", "user2,follower3,follower4"]
matrix = []
for entry in user_data:
all_users = entry.split(',')
user = all_users[0]
followers = all_users[1:]
for follower in followers:
matrix.append([user, follower])
在这种情况下矩阵将包含:
[
["user1", "follower1"],
["user1", "follower2"],
["user2", "follower3"],
["user2", "follower4"]
]
如果您还有任何问题,请告诉我。