如何使用python中的数字和字符串从列表中打印表

时间:2018-05-25 04:06:29

标签: python

我正在尝试从当前代码中打印一个表格,目前只输出一个列表,但我不知道如何实现这一目标。

{'judy': 1, 'dean': 1, 'andrew': 2, 'sam': 4, 'fred': 2}

当输入为3时,我想以这种格式输出一个列表:

4 sam
2 andrew fred
1 dean judy

或者像这样,如果输入是2(所有联系也需要按字母顺序排列):

4 sam
2 andrew fred

这是我的代码到目前为止只输出一个列表:

x = input("Enter a number: ")

with open('stream.txt','r') as f:
    tweetlist = [r.split()[0] for r in f if "DM" not in r and "RT" not 
    in r]

tweet_counter = {}
for tweet in tweetlist:
    if tweet in tweet_counter:
        tweet_counter[tweet] += 1
    else:
        tweet_counter[tweet] = 1

popular_users = sorted(tweet_counter, key = tweet_counter.get, reverse 
= True)
top = popular_users[:x]
top.sort()
print(tweet_counter)

提前感谢,非常感谢所有帮助

1 个答案:

答案 0 :(得分:0)

有一个def add_to_cart(): # Import globals as required global item_images global item_names global item_prices global count global total_price # Find required item details by using the active location of the listbox cursor img_index = item_box.index(ACTIVE) name_index = item_box.index(ACTIVE) price_index = item_box.index(ACTIVE) # Append cart lists ready for html invoice cart_imgs.append(item_images[img_index]) cart_names.append(item_names[name_index]) cart_prices.append(item_prices[price_index]) # Update total price for invoice total_price = total_price + float(item_prices[price_index]) # Increase count per button press. count = count + 1 对象可以计算你的第一个循环:

collections.Counter

可以替换为:

tweet_counter = {}
for tweet in tweetlist:
    if tweet in tweet_counter:
        tweet_counter[tweet] += 1
    else:
        tweet_counter[tweet] = 1

from collections import Counter tweet_counter = Counter(tweetlist) 按值顺序返回Counter.most_common(),然后您可以使用python的强大迭代器代数((key, value))来获取所需的结果。首先使用itertools将值组合在一起,然后使用itertools.groupby()来获取所需的数字,例如:

itertools.islice()